JavaのUnicode UTF-8の間の変換

UnicodeのUTF-8のrpm

 パブリック 静的文字列utf8ToUnicode(文字列INSTR){
         文字 [] myBuffer = inStr.toCharArray()。
        
        StringBufferのSB = 新しいStringBufferを();
        以下のためにint型 i = 0 ; iはinStr.length()<; I ++のを){ 
         UnicodeBlockのUB = UnicodeBlock.of(myBuffer [I])。
            もし(UB == UnicodeBlock.BASIC_LATIN){
              // 英文及数字等
             sb.append(myBuffer [I])。
            } そう であれば(UB == UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS){
              //全角半角字符
             INT J =(INT)myBuffer [I] - 65248 
             sb.append((CHAR )J)。
            } {
              // 汉字
             短いのS =(ショート)myBuffer [I]。
                ストリングhexS = Integer.toHexString(S)。
                文字列のUnicode = " \\ U " + hexS。
             sb.append(unicode.toLowerCase())。
            } 
        } 
        を返す)(sb.toStringします。
    }

UnicodeのターンUTF-8

パブリック 静的文字列unicodeToUtf8(文字列theString){
   チャーACHAR。
  INT LEN = theString.length()。
  StringBufferのoutBuffer = 新しいStringBufferの(LEN);
  INT X = 0; X < LEN;){ 
   ACHAR = theString.charAt(x ++ )。
   もし(ACHAR == '\\' ){ 
    ACHAR = theString.charAt(x ++ )。
    もし(ACHAR == 'U' ){
      // 読むXXXXの
     int型値= 0 以下のためにint型 I 0 =;私は4 <; I ++){ 
      ACHAR = theString.charAt(x ++ )。
      スイッチ(ACHAR){
       ケース '0' 場合 '1' ケース '2' ケース '3' ケース '4' ケース '5' ケース '6' ケース '7' ケース '8' ケース '9'  =(値<< 4)+ ACHAR - '0' 破ります;
      ケース 'B' ケース 'C' ケース 'D' ケース 'E' ケース 'F'  =(値<< 4)+ 10 + ACHAR - 'A' 破ります;
      ケース 'A' ケース 'B' ケース 'C' ケース 'D' ケース 'E' ケース 'F'  =(値<< 4)+ 10 + ACHAR - 'A' 。
       ブレーク;
      デフォルトスロー 新しいIllegalArgumentExceptionが(
          "不正な形式の\\ uXXXXというエンコーディングを。" ); 
      } 
     } 
     outBuffer.append((CHAR )値)。
    } {
      場合(ACHAR == 'T' 
      ACHAR = '\ tの' ;
     それ以外の 場合(ACHAR == 'R' 
      ACHAR = '\ r'がそれ以外の 場合(ACHAR == 'N' 
      ACHAR = '\ n'はそれ以外の 場合(ACHAR == 'F'
      ACHAR = '\のF' ; 
     outBuffer.append(ACHAR)。
    } 
   } そう
    outBuffer.append(ACHAR)。
  } 
  を返す)(outBuffer.toString。
 }

 

おすすめ

転載: www.cnblogs.com/weibanggang/p/11491199.html