首页 文章 精选 留言 我的

精选列表

搜索[文档处理],共10000篇文章
优秀的个人博客,低调大师

Java 21增强对Emoji表情符号的处理

现一个 Java 21 中有意思的东西! 在java.Lang.Character类中增加了用于确定字符是否为 Emoji 表情符号的 API,主要包含下面六个新的静态方法: public static boolean isEmoji(int codePoint) { return CharacterData.of(codePoint).isEmoji(codePoint); } public static boolean isEmojiPresentation(int codePoint) { return CharacterData.of(codePoint).isEmojiPresentation(codePoint); } public static boolean isEmojiModifier(int codePoint) { return CharacterData.of(codePoint).isEmojiModifier(codePoint); } public static boolean isEmojiModifierBase(int codePoint) { return CharacterData.of(codePoint).isEmojiModifierBase(codePoint); } public static boolean isEmojiComponent(int codePoint) { return CharacterData.of(codePoint).isEmojiComponent(codePoint); } public static boolean isExtendedPictographic(int codePoint) { return CharacterData.of(codePoint).isExtendedPictographic(codePoint); } 这些静态方法通过接收字符的codePoint来判断是否为表情符号来返回boolean值。 所以,我们可以用isEmoji方法来判断字符串中是否有表情,比如: @Test void testEmoji() { String message = "欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?"; if(message.codePoints().anyMatch(Character::isEmoji)) { System.out.println("Message包含表情"); } } 除了判断字符串中是否包含表情符号之外,还能用isEmojiModifier和isEmojiModifierBase来判断Emoji是否被修改和是否可以被修改: @Test void testEmoji2() { String welcomeMsg ="欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?"; OptionalInt emojiOptional = welcomeMsg.codePoints().filter(Character::isEmoji).findFirst(); if (emojiOptional.isPresent()) { int emojiCodePoint = emojiOptional.getAsInt(); if (Character.isEmojiModifierBase(emojiCodePoint)) { System.out.println("Emoji can be modified"); if (Character.isEmojiModifier(emojiCodePoint)) System.out.println("Emoji is modified"); else System.out.println("Emoji has not been modified"); } else System.out.println("Emoji cannot be modified"); } else System.out.println("No emoji present"); } 使用正则表达式 这些新方法也可以通过属性构造正则表达式来使用,比如: String welcomeMsg = "欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?"; Matcher matcher = Pattern.compile("\\p{IsEmoji}").matcher(welcomeMsg); if(matcher.find()) { System.out.println("Message contains an emoji!"); } matcher = Pattern.compile("\\p{IsEmoji_Modifier_Base}").matcher(welcomeMsg); if(matcher.find()) { System.out.println("Message contains an emoji modifier base!"); } 如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性专栏! 欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

优秀的个人博客,低调大师

ImageMagick 7.1.1-20 发布,多功能图片处理软件

ImageMagick 7.1.1-20 已发布,该版本可以在Linux,Windows,Mac Os X,iOS,AndroidOS 等平台上运行。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入超过 200 种格式的图片,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG 等等。 ImageMagick 可被用于图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转等。支持Linux、Windows、Mac OS X、iOS、Android OS 平台。 7.1.1-20 版本的更新内容包括有: 支持Windows 1.0 图标格式(ImageMagick/ImageMagick#6670)bdc2c9f 代码清理。476a094 支持 GetMagickTTL() 方法 (ImageMagick/ImageMagick#4533)66c30fc 修复time-to-live deadlockc3d651e 改进time-to-live timer4727c5e 防止整数溢出fa9c969 错误的参数类型bfcdb1e 让缓存限制 CPU6d9069d 修复缩进。47af159 添加了对 MaxPixelChannels 的检查。8126bac 添加了对读取 jpeg2000 图像时读取 meta channels的支持。3541957 添加了 jp2:assume-alpha 选项,当 jpeg2000 图像有 2 或 4 个通道时,该选项将始终启用 alpha 通道。07fd761 更正了对单通道的检查。43f6ada 支持 xmp:validate 定义以选择性能而不是安全性c4f9927 将新的 deflate 库添加到 pragma lib 列表中。ac00eb2 更多详情可查看change log。

优秀的个人博客,低调大师

ImageMagick 7.1.0-52 发布,多功能图片处理软件

ImageMagick 7.1.0-52 已发布,该版本可以在Linux,Windows,Mac Os X,iOS,AndroidOS 等平台上运行。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入超过 200 种格式的图片,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG 等等。 ImageMagick 可被用于图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转等。支持Linux、Windows、Mac OS X、iOS、Android OS 平台。 7.1.0-52 版本的更新内容包括有: Merged coders:启用在 mingw 中打开 https 文件#5727 utilities:在 mingw 中启用对 unicode 路径的支持#5713 Commits 支持可选扩展区域42bae95 检查扩展属性类型以设置 alpha 通道7b771b4 将图像的类型而不是颜色空间传递给 IsGrayImageTyped3539ae 消除 globbing 时不必要的文件打开73dd9de 可能的 DoS @ stdin (OCE-2022-70);可能的任意文件泄漏 (OCE-2022-72)05673e6 恢复场景检查2752356 使用新证书。e9da157 增强删除列表解析5118724 支持-delete registry:NAME从 system registry 中删除图像fe5eeb8 字符串优化d78b958 允许 EOFd0bee0b 使用新的私有 api。2d0b7fc 重命名变量fa28e60 将 HLS 旋转 120 度5f4ad1d 使用新的 ElementInfo api。ead0c10 blob 字节优化6fac1c9 添加对灰度图像的检查@ImageMagick/ImageMagick#5705e7d354e 优化读取 blob 字符串4ff14c8 注册 WebP mime 类型c3f81bc 修复单色颜色图b4193e8 修复了可能的空引用。ffd7221 改用 ElementInfo api。7a2b09b 设置 blob EOF 标志bc1e75c 最新的 autoconf 更新5d3d9e2 代码清理。13ba626 修复了使用 ElementInfo api 时引入的错误。f9d96c7 对 MPC 和 MIFF 中掩码的强大支持9f0f4b2 初始化包密钥878da43 更多详情可查看change log。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册