java中unicode utf 您所在的位置:网站首页 utf-8编码怎么转换中文 java中unicode utf

java中unicode utf

2022-06-15 09:30| 来源: 网络整理| 查看: 265

1.       汉字字符串与unicode之间的转换 1.1          stringToUnicode

 

/** * 获取字符串的unicode编码 * 汉字“木”的Unicode 码点为Ox6728 * * @param s 木 * @return \ufeff\u6728 \ufeff控制字符 用来表示「字节次序标记(Byte Order Mark)」不占用宽度 */ public static String stringToUnicode(String s) { try { StringBuffer out = new StringBuffer(""); //直接获取字符串的unicode二进制 byte[] bytes = s.getBytes("unicode"); //然后将其byte转换成对应的16进制表示即可 for (int i = 0; i < bytes.length - 1; i += 2) { out.append("\\u"); String str = Integer.toHexString(bytes[i + 1] & 0xff); for (int j = str.length(); j < 2; j++) { out.append("0"); } String str1 = Integer.toHexString(bytes[i] & 0xff); out.append(str1); out.append(str); } return out.toString(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; } }

 

测试

@Test public void testGetUnicode() throws Exception { String str = "木"; String s = EncodeUtil.stringToUnicode(str); System.out.println(s); //Ox6728 } 1.2          unicodeToString /** * Unicode转 汉字字符串 * * @param str \u6728 * @return '木' 26408 */ public static String unicodeToString(String str) { Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))"); Matcher matcher = pattern.matcher(str); char ch; while (matcher.find()) { //group 6728 String group = matcher.group(2); //ch:'木' 26408 ch = (char) Integer.parseInt(group, 16); //group1 \u6728 String group1 = matcher.group(1); str = str.replace(group1, ch + ""); } return str; }

测试

@Test public void testUnicodeToString() throws Exception { String str = "\\u6728"; String s = EncodeUtil.unicodeToString(str); System.out.println(s); //木 } 2.       汉字字符串与UTF-8之间的转换 2.1          ConvertStringToUTF8 /** * 汉字 转换为对应的 UTF-8编码 * @param s 木 * @return E69CA8 */ public static String convertStringToUTF8(String s) { if (s == null || s.equals("")) { return null; } StringBuffer sb = new StringBuffer(); try { char c; for (int i = 0; i < s.length(); i++) { c = s.charAt(i); if (c >= 0 && c


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有