如何在Java中輕鬆處理Emoji Unicode - Udayakumar
此類提供了一種方法toEmoji(),可將Unicode替代為帶有視覺上可表示的表情符號:
package org.appsweaver.experiments.easily_handle_emoji_unicode; /** * * @author udhansingh * */ public class UnicodePointEntry { private final int row; private final String name; private final String[] codes; public UnicodePointEntry(int row, String name, String codes) { this.row = row; this.name = toName(name); this.codes = toCodes(codes); } public int getRow() { return row; } public String[] getCodes() { return codes; } public String getCodesAsCSV() { if(codes == null || codes.length == 0) return null; if(codes.length == 1) { return codes[0]; } else { final StringBuilder stringBuilder = new StringBuilder(); for(int index = 0; index < codes.length - 1; index++) { stringBuilder.append(codes[index]).append(", "); } stringBuilder.append(codes[codes.length - 1]); return stringBuilder.toString(); } } public String getName() { return name; } public String toEmoji() { final StringBuilder stringBuilder = new StringBuilder(); for(String code : codes) { final Integer intCode = Integer.decode(code.trim()); for(Character character : Character.toChars(intCode)) { stringBuilder.append(character); } } return stringBuilder.toString(); } private String[] toCodes(String text) { return text.replace("U+", "0x").split(" "); } private String toName(String text) { // Take out characters that invalidate java naming convention return text.replace(" ", "_") .replace(":", "") .replace("-", "_") .replace(".", "") .replace("&", "_and_") .replace("“", "") .replace("”", "") .replace("’", "_") .replace(",_", "_or_") .replace("(", "") .replace(")", "") .replace("#", "hash") .replace("*", "asterik") .replace("!", "bang") .replace("1st", "first") .replace("2nd", "second") .replace("3rd", "third") .replace("⊛_", "") .replace("package", "package_box") // do this at end .replaceAll("__", "_") .toLowerCase() ; } } |
程式碼在GitHub中可用
要將表情符號列印到顯示器上,請執行
mvn -DenumCompatibleSyntax = false
要生成顯示的列舉值,請執行
mvn -DenumCompatibleSyntax = true
相關文章
- Java處理emojiJava
- PHP中處理emoji表情PHP
- 掌握BeanShell,輕鬆處理jmeter中的資料BeanJMeter
- 在.NET Framework中輕鬆處理XML資料(一) (轉)FrameworkXML
- 在.NET Framework中輕鬆處理XML資料(五) (轉)FrameworkXML
- lubridate—輕鬆處理日期時間
- Java記憶體對映,上G大檔案輕鬆處理Java記憶體
- 輕鬆實現session的mysql處理 (轉)SessionMySql
- 前端如何處理emoji表情前端
- 輕鬆搞懂Java中的自旋鎖Java
- Pandas缺失值處理 | 輕鬆玩轉Pandas(3)
- 效率提升50倍,輕鬆處理大資料大資料
- 結合 AOP 輕鬆處理事件釋出處理日誌事件
- Java中文處理學習筆記——Hello Unicode (轉)Java筆記Unicode
- 技術乾貨| 如何在MongoDB中輕鬆使用GridFS?MongoDB
- C++ 異常處理機制詳解:輕鬆掌握異常處理技巧C++
- BI與SaaS碰撞,讓資料處理更加輕鬆(下)
- 一文輕鬆搞定批處理框架 Spring Batch框架SpringBAT
- Java 日期和時間 API:實用技巧與示例 - 輕鬆處理日期和時間JavaAPI
- 簡單來談談Unicode與emojiUnicode
- 如何在 Linux 系統中輸入 emojiLinux
- Teradata TPT處理Unicode方法Unicode
- 60萬行的Excel資料,Python輕鬆處理ExcelPython
- 如何在 Laravel 專案中輕鬆實現上傳頭像功能?Laravel
- Unicode13正式釋出,更多的EmojiUnicode
- Emoji.prototype.length —— Unicode 字元那些事兒Unicode字元
- iOS使用Unicode9.0 emoji表情的方法iOSUnicode
- 教你如何在Linux 系統中輸入 emojiLinux
- java中的事件處理Java事件
- 在`Laravel`中使用`cursor`來查詢並處理資料 (輕鬆處理千萬級的資料)Laravel
- 在Laravel中使用cursor來查詢並處理資料 (輕鬆處理千萬級的資料)Laravel
- 輕鬆看懂Java位元組碼Java
- 如何在 .NET Core WebApi 中處理 MultipartFormDataContentWebAPIORM
- 如何在 PHP 中處理 Protocol Buffers 資料PHPProtocol
- python輕鬆過濾處理髒話與特殊敏感詞彙的方法Python
- 透明化網路管理,事前處理實現輕鬆運維薦運維
- Java 中 Emoji 的正規表示式Java
- C# - 如何在 MVVM 中處理 XAML 鍵盤?C#MVVM