中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java Unicode和UTF-8之間轉換實例

發布時間:2020-10-23 23:20:17 來源:腳本之家 閱讀:271 作者:韋邦杠 欄目:開發技術

utf-8轉unicode

 public static String utf8ToUnicode(String inStr) {
    char[] myBuffer = inStr.toCharArray();
    
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < inStr.length(); i++) {
     UnicodeBlock ub = UnicodeBlock.of(myBuffer[i]);
      if(ub == UnicodeBlock.BASIC_LATIN){
       //英文及數字等
       sb.append(myBuffer[i]);
      }else if(ub == UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS){
       //全角半角字符
       int j = (int) myBuffer[i] - 65248;
       sb.append((char)j);
      }else{
       //漢字
       short s = (short) myBuffer[i];
        String hexS = Integer.toHexString(s);
        String unicode = "\\u"+hexS;
       sb.append(unicode.toLowerCase());
      }
    }
    return sb.toString();
  }

unicode轉utf-8

public static String unicodeToUtf8(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 get請求帶參數報錯 java.io.IOException: Server returned HTTP response code: 400 for URL

java Unicode和UTF-8之間轉換實例

解決方案

在使用JAVA發起http請求的時候,經常會遇到這個錯誤,我們copy請求地址在瀏覽器中運行的時候又是正常運行的,造成這個錯誤的原因主要是因為請求的URL中包含空格,這個時候我們要使用URLEncoder.encode(timestamp,"utf-8")對含有空格的參數進行處理;(注:只對需要處理的參數部分進行處理,不要把整個URL放進去,如果整個URL放進去會對URL中的"http://"也會進行處理);

java Unicode和UTF-8之間轉換實例

以上這篇java Unicode和UTF-8之間轉換實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陕西省| 宜丰县| 福建省| 灵台县| 萝北县| 广饶县| 昂仁县| 郓城县| 泽州县| 西乌珠穆沁旗| 青阳县| 伊吾县| 济宁市| 时尚| 佳木斯市| 大冶市| 乐业县| 靖边县| 安图县| 太仆寺旗| 东丰县| 安仁县| 北海市| 犍为县| 石柱| 个旧市| 赤峰市| 任丘市| 平陆县| 邮箱| 南溪县| 仙游县| 天气| 荆门市| 滁州市| 巴里| 吴川市| 资溪县| 阿勒泰市| 吉安市| 正安县|