国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java中unicode和中文相互轉換的簡單實現(xiàn)

2019-11-26 13:55:44
字體:
來源:轉載
供稿:網(wǎng)友

如下所示:

package test.com.gjob.services;  import java.util.Properties;   public class Test {       public static void main(String[] args) {       String s = "簡介";       String tt = gbEncoding(s);   //    String tt1 = "你好,我想給你說一個事情";      System.out.println(decodeUnicode("http://u7b80//u4ecb"));   //    System.out.println(decodeUnicode(tt1));       System.out.println(HTMLDecoder.decode("中國"));      String s1 = "/u7b80/u4ecb";      System.out.println(s.indexOf("http://"));     }      public static String gbEncoding(final String gbString) {      char[] utfBytes = gbString.toCharArray();         String unicodeBytes = "";         for (int byteIndex = 0; byteIndex < utfBytes.length; byteIndex++) {            String hexB = Integer.toHexString(utfBytes[byteIndex]);             if (hexB.length() <= 2) {               hexB = "00" + hexB;            }             unicodeBytes = unicodeBytes + "http://u" + hexB;           }           System.out.println("unicodeBytes is: " + unicodeBytes);           return unicodeBytes;        }              public static String decodeUnicode(final String dataStr) {         int start = 0;          int end = 0;          final StringBuffer buffer = new StringBuffer();          while (start > -1) {            end = dataStr.indexOf("http://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();        }      }
public static String decodeUnicode(String theString) {      char aChar;      int len = theString.length();      StringBuffer outBuffer = new StringBuffer(len);      for (int x = 0; x < len;) {      aChar = theString.charAt(x++);      if (aChar == '//') {       aChar = theString.charAt(x++);       if (aChar == 'u') {       // Read the xxxx       int value = 0;       for (int i = 0; i < 4; i++) {        aChar = theString.charAt(x++);        switch (aChar) {        case '0':        case '1':        case '2':        case '3':       case '4':        case '5':        case '6':        case '7':        case '8':        case '9':        value = (value << 4) + aChar - '0';        break;        case 'a':        case 'b':        case 'c':        case 'd':        case 'e':        case 'f':        value = (value << 4) + 10 + aChar - 'a';        break;        case 'A':        case 'B':        case 'C':        case 'D':        case 'E':        case 'F':        value = (value << 4) + 10 + aChar - 'A';        break;        default:        throw new IllegalArgumentException(         "Malformed  //uxxxx  encoding.");        }        }       outBuffer.append((char) value);       } else {       if (aChar == 't')        aChar = '/t';       else if (aChar == 'r')        aChar = '/r';        else if (aChar == 'n')         aChar = '/n';        else if (aChar == 'f')         aChar = '/f';        outBuffer.append(aChar);        }       } else       outBuffer.append(aChar);       }       return outBuffer.toString();      }

以上這篇java中unicode和中文相互轉換的簡單實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 旬邑县| 邢台市| 曲松县| 高青县| 从江县| 平利县| 彭山县| 南宫市| 天柱县| 宁乡县| 孝感市| 彭泽县| 天水市| 梁平县| 临夏县| 武穴市| 始兴县| 桦川县| 苍溪县| 怀柔区| 克东县| 河间市| 宝兴县| 仁化县| 兴城市| 肇东市| 无锡市| 清镇市| 深泽县| 南开区| 台北县| 望都县| 图片| 云南省| 常山县| 明水县| 辰溪县| 梅州市| 南木林县| 饶阳县| 称多县|