java utf 8 轉unicode_java 在Unicode和UTF-8之間轉換

/**

* utf-8 轉換成 unicode

* @author fanhui

* 2007-3-15

* @param inStr

* @return

*/

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

/**

* unicode 轉換成 utf-8

* @author fanhui

* 2007-3-15

* @param theString

* @return

*/

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();

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257617.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257617.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257617.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android成長日記-使用GridView顯示多行數據

本節將實現以下效果 Ps&#xff1a;看起來很不錯的樣子吧&#xff0c;而且很像九宮格/se ----------------------------------------------------------------------- 下面進入正題[s1] &#xff1a; Step 1&#xff1a;新建Layout&#xff0c;里面創建GridView <GridView a…

奪命雷公狗---微信開發39----微信語言識別接口1

語音識別接口的基本介紹 注意&#xff1a; 由于客戶端緩存&#xff0c;開發者開啟或者關閉語音識別功能&#xff0c;對新關注者立即生效&#xff0c;對已關注用戶需要24小時生效&#xff0c;開發者可以從新關注帳號進行測試。 我們可以在測試號下方的體驗接口權限表里面找到“接…

Codeforces 803E--Roma and Poker (DP)

原題鏈接&#xff1a;http://codeforces.com/problemset/problem/803/E 題意&#xff1a;給一個n長度的字符串&#xff0c;其中?可以替換成D、W、L中的任意一種&#xff0c;D等價于0, W等價于1、L等價于-1。輸出所有?被替換掉后&#xff0c;W和L的數目之差為k&#xff0c;且任…

java構造塊_java中的靜態代碼塊、構造代碼塊、構造方法詳解

運行下面這段代碼&#xff0c;觀察其結果&#xff1a;package com.test;public class HelloB extends HelloA {public HelloB() {}{System.out.println("Im B class");}static {System.out.println("static B");}public static void main(String[] args) {…

推薦一個不錯的 Chrome 插件,百變皮膚,還可以去廣告

今天在這里給大家推薦一個非常棒&#xff0c;非常不錯的 Chrome 插件&#xff0c;功能實在是強大又好玩&#xff0c;讓你在瀏覽器中可以如孫悟空一樣72變&#xff0c;再不濟&#xff0c;如果你不會用&#xff0c;不會自定義寫 CSS 樣式&#xff0c;也能夠做到如豬八戒般 36 變。…

【轉】DB2 常用命令

1、 打開命令行窗口   #db2cmd 2、 打開控制中心   # db2cmd db2cc 3、 打開命令編輯器  db2cmd db2ce 操作數據庫命令 4、 啟動數據庫實例   #db2start 5、 停止數據庫實例   #db2stop  如果你不能停止數據庫由于激活的連接&#xff0c;在運行db2stop前執行db2 force ap…

c#調用R

R.NET使用文檔 介紹 本頁面涉及R.NET1.5.13。 1.5.13版本在功能上等同于1.5.12&#xff0c;但可作為一個包在NuGet.org上獲得。 R.NET使.NET框架與R統計語言在同一進程進行互操作。 R.NET需要.NET Framework 4的并有R環境中安裝的本地的DLL。您可以使用R.NET用在.NET的任何語言…

java applet 文本框_Java Applet 文本框 TextField 小例 | 學步園

一個Java Applet程序中必須有一個類是Applet類的子類&#xff0c;成為該子類是Java Applet的主類&#xff0c; 并且必須是public class。 Applet類是包java.applet中的一個類&#xff0c; 同時它還是包java.awt中Container(容器)類的子類。因此Java Applet的主類的實例是一個容…

python界面工具pyqt基礎教程

這里有一份很詳細的中文翻譯供我們學習pyqt&#xff0c;很適合初學者和中級學者&#xff0c;直接丟傳送門&#xff0c;不多說 http://www.qaulau.com/books/PyQt4_Tutorial/introduction.html轉載于:https://www.cnblogs.com/semishigure/p/7451689.html

博客園客戶端(睡睡版iphone)源碼

1.關于 https://itunes.apple.com/us/app/shui-shui-bo-ke-yuan/id512394144?ls1&mt8 項目目前為V3.0版&#xff0c;也是我開發的最新版&#xff0c;目前已無法在appstore下載&#xff0c;項目介紹&#xff1a;http://www.cnblogs.com/bandy/p/3509482.html 2.現狀 目前本…

Spring MVC不要在@Service bean中保存狀態

先看這么一段代碼&#xff1a; Service public class AccountService {private String message;public void foo1() {if (true) {this.message "a";} else {this.message "b";}}public void foo2() {// 改動this.message的代碼...// ... ...} }假設你打算…

java class 關鍵字_java關鍵字及其作用

一、 關鍵字總覽:訪問控制privateprotectedpublic類,方法和變量修飾符abstractclassextendsfinalimplementsinterfacenativenewstaticstrictfpsynchronizedtransientvolatile程序控制breakcontinuereturndowhileifelseforinstanceofswitchcasedefault錯誤處理trycatchthrowthro…

3.過濾數據 ---SQL

一、使用WHERE子句 SELECT prod_name, prod_price FROM Products WHERE prod_price 3.49; 輸出▼ prod_name prod_price ------------------- ---------- Fish bean bag toy 3.49 Bird bean bag toy 3.49 Rabbit bean bag toy 3.49 分析▼ 這條語句從products表中檢索兩個列&a…

IOS-C語言第8天,Struct (結構體)

轉載于:https://www.cnblogs.com/xiangrongsu/p/4309160.html

Win2D 入門教程 VB 中文版 - 防止內存泄漏

避免內存泄漏 本文從微軟官方文檔翻譯 http://microsoft.github.io/Win2D/html/RefCycles.htm 如果文檔有問題&#xff0c;可以在 https://github.com/Nukepayload2/Win2dDocVB發 Issue&#xff0c;也可以直接回復。 當在托管的 XAML 應用程序中使用 Win2D 控件&#xff0c;需要…

java concurrent 鎖_java并發機制鎖的類型和實現

synchronized 和 volatile&#xff0c;是最基礎的兩個鎖&#xff01;volatile是輕量級鎖&#xff0c;它在多核處理器開發中保證了共享變量的可見性。即當一個線程修改一個共享變量時&#xff0c;其他線程能夠讀到這個修改的值。它比syncronized使用和成本更低。要說volatile的實…

JAXB和XStream比較

這兩東東本質上是有差別的&#xff0c;JAXB稱為OX binding工具&#xff0c;XStream應該算序列化工具&#xff0c;但OX binding工具也會marshall和unmarshall&#xff0c;所以包含了序列化這一部分。序列化工具不一定需要提供binding的功能。既然都玩序列化&#xff0c;那就簡單…

【起航計劃 011】2015 起航計劃 Android APIDemo的魔鬼步伐 10 App-Activity-Reorder Activities 后退棧 Intent FLAG...

Reorder Activities 示例有四個相關的Activitives: ReorderOnLaunch, ReorderTwo,ReorderThree, ReorderFour。其中ReorderOnLaunch為主Activity&#xff0c;ReorderOnLaunch啟動ReorderTwo &#xff0c;ReorderTwo啟動 ReorderThree&#xff0c;ReorderThree啟動 ReorderFour。…

java date dateformat_java中Date與DateFormat的格式輸出

一、DateFormatjava.text.DateFormat使用 getDateInstance 來獲取該國家/地區的標準日期格式。另外還提供了一些其他靜態工廠方法。使用 getTimeInstance 可獲取該國家/地區的時間格式。使用 getDateTimeInstance 可獲取日期和時間格式。可以將不同選項傳入這些工廠方法&#x…

spartan6不能直接把時鐘連到IO上

1、問題的提出&#xff1a;spartan6中不允許時鐘信號直接連到IO口上面&#xff1f; 2、解決辦法&#xff1a;ODDR2的使用 ODDR2Primitive: Double Data Rate Output D Flip-Flop with Optional Data Alignment, Clock Enable and Programmable Synchronous or Asynchronous Set…