将网页中的 啊 unicode字符转换成中文
2009-12-06 17:32
288 查看
public class UnicodeConverter { private static final Logger log = LogFactory.getLog(UnicodeConverter.class); private static final UnicodeConverter unique = new UnicodeConverter(); public static UnicodeConverter getInstance() { return unique; } private final Map<String, String> chineseMap = new HashMap<String, String>(); private final Pattern unicodePattern = Pattern.compile("//d{5};"); private UnicodeConverter() { initCharMapping(); } private void initCharMapping() { try { InputStream is = UnicodeConverter.class.getResourceAsStream("/chinese.mapping"); //读入UTF-8编码的文件 InputStreamReader isr = new InputStreamReader(is, "UTF-8"); BufferedReader br = new BufferedReader(isr); String temp = null; if ((temp = br.readLine()) != null) { if (logger.isDebugEnabled()) { logger.debug("chinese====>" + temp); } String[] strs = temp.split(" "); for (String str : strs) { String[] arr = str.split(":"); String code = "" + arr[1] + ";"; String value = arr[0]; if (logger.isDebugEnabled()) { logger.debug(code + " To " + value); } chineseMap.put(code, value); } } } catch (Exception e) { logger.error("Init Char Mapping Fail", e); } } private String getByUnicode(String unicode) { return chineseMap.get(unicode); } public String unicodeToChinese(String str) { Matcher matcher = unicodePattern.matcher(str); while (matcher.find()) { String findStr = matcher.group(); String replaceStr = getByUnicode(findStr); if (replaceStr != null && replaceStr.length() > 0) { str = str.replaceAll(findStr, replaceStr); } } return str; } }
chinese.mapping中只有一行,格式为: 汉字:unicode码 汉字:unicode码 ......
例如: 啊:21834 阿:38463
chinese.mapping文件下载(下载后请将.jpg扩展名去掉)
相关文章推荐
- 中文和unicode字符的相互转换
- 宽字符、单字符之间的转换 Convert Between UNICODE & ASCII
- 使用 Java 将中文字符转换成 Unicode 编码
- ReadString在UNICODE下中文乱码的解决办法(Char型字符和Unicode字符的转换问题)
- C#中文和UNICODE字符转换方法
- Robot Framework RIDE中的字符转换、中文、python的gbk解码 unicode('${org_name}',"utf-8")
- Python:如何将文本里的字典里的unicode字符转换成中文
- ReadString在UNICODE下中文乱码的解决办法(Char型字符和Unicode字符的转换问题)
- 用jdk自带的native2ascii转换中文字符为unicode
- 中文字符 与 十六进制Unicode编码 相互转换
- 使用Java将中文字符转换成Unicode编码
- Java将中文转换成unicode字符。
- C#中文和UNICODE字符转换方法
- 用jdk自带的native2ascii转换中文字符为unicode
- native2ascii 中文字符与Unicode编码相互转换
- unicode字符转换成中文
- 采用native2ascii工具将中文字符的资源文件转换为Unicode代码格式的文件
- 随便发发,java gb2312与中文字符转换,以及中文和Unicode的转换
- C#中文和UNICODE字符转换方法
- C#中文和UNICODE字符转换方法