欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java Unicode和UTF-8之間轉(zhuǎn)換實(shí)例

 更新時(shí)間:2020年09月24日 15:35:36   作者:韋邦杠  
這篇文章主要介紹了java Unicode和UTF-8之間轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

utf-8轉(zhuǎn)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){
       //英文及數(shù)字等
       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轉(zhuǎn)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();
 }

補(bǔ)充知識(shí):java get請(qǐng)求帶參數(shù)報(bào)錯(cuò) java.io.IOException: Server returned HTTP response code: 400 for URL

解決方案

在使用JAVA發(fā)起http請(qǐng)求的時(shí)候,經(jīng)常會(huì)遇到這個(gè)錯(cuò)誤,我們copy請(qǐng)求地址在瀏覽器中運(yùn)行的時(shí)候又是正常運(yùn)行的,造成這個(gè)錯(cuò)誤的原因主要是因?yàn)檎?qǐng)求的URL中包含空格,這個(gè)時(shí)候我們要使用URLEncoder.encode(timestamp,"utf-8")對(duì)含有空格的參數(shù)進(jìn)行處理;(注:只對(duì)需要處理的參數(shù)部分進(jìn)行處理,不要把整個(gè)URL放進(jìn)去,如果整個(gè)URL放進(jìn)去會(huì)對(duì)URL中的"http://"也會(huì)進(jìn)行處理);

以上這篇java Unicode和UTF-8之間轉(zhuǎn)換實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring配置文件的超詳細(xì)圖文介紹

    Spring配置文件的超詳細(xì)圖文介紹

    Spring配置文件是一個(gè)或多個(gè)標(biāo)準(zhǔn)的XML文檔,下面這篇文章主要給大家介紹了關(guān)于Spring配置文件的超詳細(xì)圖文介紹,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • java 方法泛型入?yún)和String的重載關(guān)系詳解

    java 方法泛型入?yún)和String的重載關(guān)系詳解

    這篇文章主要介紹了java 方法泛型入?yún)和String的重載關(guān)系詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java Collections的emptyList、EMPTY_LIST詳解與使用說明

    Java Collections的emptyList、EMPTY_LIST詳解與使用說明

    這篇文章主要介紹了Java Collections的emptyList、EMPTY_LIST詳解與使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解Springboot @Cacheable 注解(指定緩存位置)

    詳解Springboot @Cacheable 注解(指定緩存位置)

    這篇文章主要介紹了詳解Springboot @Cacheable 注解(指定緩存位置),使用? @Cacheable ?注解就可以將運(yùn)行結(jié)果緩存,以后查詢相同的數(shù)據(jù),直接從緩存中取,不需要調(diào)用方法,需要的朋友可以參考下
    2023-09-09
  • Java深入理解代碼塊的使用細(xì)節(jié)

    Java深入理解代碼塊的使用細(xì)節(jié)

    所謂代碼塊是指用"{}"括起來的一段代碼,根據(jù)其位置和聲明的不同,可以分為普通代碼塊、構(gòu)造塊、靜態(tài)塊、和同步代碼塊。如果在代碼塊前加上?synchronized關(guān)鍵字,則此代碼塊就成為同步代碼塊
    2022-05-05
  • Java發(fā)送報(bào)文與接收?qǐng)?bào)文的實(shí)例代碼

    Java發(fā)送報(bào)文與接收?qǐng)?bào)文的實(shí)例代碼

    這篇文章主要介紹了Java發(fā)送報(bào)文與接收?qǐng)?bào)文,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • SpringBoot實(shí)現(xiàn)單文件與多文件上傳功能

    SpringBoot實(shí)現(xiàn)單文件與多文件上傳功能

    這篇文章主要介紹了SpringBoot實(shí)現(xiàn)單文件與多文件上傳功能,Spring?MVC對(duì)文件上傳做了簡化,而在Spring?Boot中對(duì)此做了更進(jìn)一步的簡化,文件上傳變得更為方便,下面開始演示,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-01-01
  • 使用Maven進(jìn)行依賴漏洞檢查的實(shí)現(xiàn)指南

    使用Maven進(jìn)行依賴漏洞檢查的實(shí)現(xiàn)指南

    在現(xiàn)代軟件開發(fā)中,開源庫的使用變得愈加普遍和重要,然而,這些開源庫中的漏洞往往會(huì)成為潛在的安全風(fēng)險(xiǎn),在本文中,我們將探討如何使用 Maven 進(jìn)行依賴漏洞檢查,以確保項(xiàng)目的安全性和穩(wěn)定性,需要的朋友可以參考下
    2024-05-05
  • SpringCache緩存自定義配置的實(shí)現(xiàn)

    SpringCache緩存自定義配置的實(shí)現(xiàn)

    本文主要介紹了SpringCache緩存自定義配置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Feign 集成 Hystrix實(shí)現(xiàn)不同的調(diào)用接口不同的設(shè)置方式

    Feign 集成 Hystrix實(shí)現(xiàn)不同的調(diào)用接口不同的設(shè)置方式

    這篇文章主要介紹了Feign 集成 Hystrix實(shí)現(xiàn)不同的調(diào)用接口不同的設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論