美文网首页
Unicode编码和中文互转(JAVA实现)

Unicode编码和中文互转(JAVA实现)

作者: 德玛西亚噜啦啦 | 来源:发表于2018-06-11 15:10 被阅读0次

    //中文转字符串

    public static String gbEncoding(final String gbString) {  //gbString = "测试" 

            char[] utfBytes = gbString.toCharArray();  //utfBytes = [测, 试] 

            String unicodeBytes = "";   

            for (int byteIndex = 0; byteIndex < utfBytes.length; byteIndex++) {   

                String hexB = Integer.toHexString(utfBytes[byteIndex]);  //转换为16进制整型字符串 

                  if (hexB.length() <= 2) {   

                      hexB = "00" + hexB;   

                  }   

                  unicodeBytes = unicodeBytes + "\\u" + hexB;   

            }   

            System.out.println("unicodeBytes is: " + unicodeBytes);   

            return unicodeBytes;   

        }

    //Unicode转中文

        public static String decodeUnicode(final String dataStr) {   

            int start = 0;   

            int end = 0;   

            final StringBuffer buffer = new StringBuffer();   

            while (start > -1) {   

                end = dataStr.indexOf("\\u", start + 2);   

                String charStr = "";   

                if (end == -1) {   

                    charStr = dataStr.substring(start + 2, dataStr.length());   

                } else {   

                    charStr = dataStr.substring(start + 2, end);   

                }   

                char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。   

                buffer.append(new Character(letter).toString());   

                start = end;   

            }   

            return buffer.toString();   

        }

    相关文章

      网友评论

          本文标题:Unicode编码和中文互转(JAVA实现)

          本文链接:https://www.haomeiwen.com/subject/colheftx.html