導航:首頁 > 編程語言 > java中文轉unicode

java中文轉unicode

發布時間:2022-06-13 12:06:17

『壹』 java中如何在中文字元和unicode編碼之間進行轉換

可以這樣來重構字元串new String(「XXX".getByte(),」UTF-8「);後面加上編碼方式

『貳』 java中Unicode碼的轉換

private static String decode(char[] in) throws Exception {
int off = 0;
char c;
char[] out = new char[in.length];
int outLen = 0;
while (off < in.length) {
c = in[off++];
if (c == '\\') {
if (in.length > off) { // 是否有下一個字元
c = in[off++]; // 取出下一個字元
} else {
out[outLen++] = '\\'; // 末字元為'\',返回
break;
}
if (c == 'u') { // 如果是"\\u"
int value = 0;
if (in.length > off + 4) { // 判斷"\\u"後邊是否有四個字元
boolean isUnicode = true;
for (int i = 0; i < 4; i++) { // 遍歷四個字元
c = in[off++];
switch (c) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value = (value << 4) + c - '0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value = (value << 4) + 10 + c - 'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value = (value << 4) + 10 + c - 'A';
break;
default:
isUnicode = false; // 判斷是否為unicode碼
}
}
if (isUnicode) { // 是unicode碼轉換為字元
out[outLen++] = (char) value;
} else { // 不是unicode碼把"\\uXXXX"填入返回值
off = off - 4;
out[outLen++] = '\\';
out[outLen++] = 'u';
out[outLen++] = in[off++];
}
} else { // 不夠四個字元則把"\\u"放入返回結果並繼續
out[outLen++] = '\\';
out[outLen++] = 'u';
continue;
}
} else {
switch (c) { // 判斷"\\"後邊是否接特殊字元,回車,tab一類的
case 't':
c = '\t';
out[outLen++] = c;
break;
case 'r':
c = '\r';
out[outLen++] = c;
break;
case 'n':
c = '\n';
out[outLen++] = c;
break;
case 'f':
c = '\f';
out[outLen++] = c;
break;
default:
out[outLen++] = '\\';
out[outLen++] = c;
break;
}
}
} else {
out[outLen++] = (char) c;
}
}
return new String(out, 0, outLen);
}

『叄』 java怎麼把漢字轉化成unicode編碼

中文轉換成Unicode編碼和Unicode編碼轉換成中文

importjava.util.Properties;
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="簡介";
Stringtt=gbEncoding(s);//Stringtt1="你好";
System.out.println(decodeUnicode("\u7b80\u4ecb"));//System.out.println(decodeUnicode(tt1));
System.out.println(HTMLDecoder.decode("中國"));
Strings1="u7b80u4ecb";
System.out.println(s.indexOf("\"));
}
publicstaticStringgbEncoding(finalStringgbString){
char[]utfBytes=gbString.toCharArray();
StringunicodeBytes="";
for(intbyteIndex=0;byteIndex<utfBytes.length;byteIndex++){
StringhexB=Integer.toHexString(utfBytes[byteIndex]);
if(hexB.length()<=2){
hexB="00"+hexB;
}
unicodeBytes=unicodeBytes+"\u"+hexB;
}
System.out.println("unicodeBytesis:"+unicodeBytes);
returnunicodeBytes;}
(finalStringdataStr){
intstart=0;
intend=0;
finalStringBufferbuffer=newStringBuffer();
while(start>-1){
end=dataStr.indexOf("\u",start+2);
StringcharStr="";
if(end==-1){
charStr=dataStr.substring(start+2,dataStr.length());
}else{
charStr=dataStr.substring(start+2,end);
}
charletter=(char)Integer.parseInt(charStr,16);//16進制parse整形字元串。
buffer.append(newCharacter(letter).toString());
start=end;
}
returnbuffer.toString();
}}
}
}
}

『肆』 JAVA程序,從鍵盤輸入漢字,並將漢子轉換為相應的unicode編碼,怎麼寫啊

上代碼:

importjava.util.Scanner;

publicclassMain{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("請輸入漢字:");
Stringinput=sc.nextLine();
if(input.length()==0){
System.out.println("輸入錯誤");
return;
}

System.out.println("漢字轉unicode結果:");
char[]chars=input.toCharArray();
for(inti=0;i<chars.length;i++){
Stringunicode=Integer.toHexString(chars[i]);
if(unicode.length()<=2){
//不足四位前面加0補齊
unicode="00"+unicode;
}
unicode="\u"+unicode;

System.out.println(chars[i]+":"+unicode);
}
}
}

『伍』 用eclipse寫java時,怎麼把中文字元轉換成unicode

在ECLIPSE中安裝Property插件,然後打開一個Property文件,右鍵該文件,選擇【Unicode表示】菜單,彈出文件中以unicode方式顯示該文件的全部內容

『陸』 急救!!!!Java實現中文轉Unicode碼....不用轉換器哈,

你可以去這個網站找吧 unicode編碼表:

http://www.chi2ko.com/tool/CJK.htm比如這個程序輸出三個Unicode字的
class Hello {
public static void main(String args[])
{
System.out.println("\u7234\u8011\u8756");
}
} 我摘錄了一段關於這個的含義!可能給你加深印象!!!! Unicode 的編碼和實現
大概來說,Unicode 編碼系統可分為編碼方式和實現方式兩個層次。
1.編碼方式
Unicode 的編碼方式與 ISO 10646 的通用字元集(亦稱[通用字元集])(Universal Character Set,UCS)概念相對應,目前的用於實用的 Unicode 版本對應於 UCS-2,使用16位的編碼空間。也就是每個字元佔用2個位元組。這樣理論上一共最多可以表示 65,536(2的16次方) 個字元。基本滿足各種語言的使用。實際上目前版本的 Unicode 尚未填充滿這16位編碼,保留了大量空間作為特殊使用或將來擴展。
上述16位 Unicode 字元構成基本多文種平面(Basic Multilingual Plane, 簡稱 BMP)。最新(但未實際廣泛使用)的 Unicode 版本定義了16個輔助平面,兩者合起來至少需要佔據21位的編碼空間,比3位元組略少。但事實上輔助平面字元仍然佔用4位元組編碼空間,與 UCS-4 保持一致。未來版本會擴充到 ISO 10646-1 實現級別3,即涵蓋 UCS-4 的所有字元。UCS-4 是一個更大的尚未填充完全的31位字元集,加上恆為0的首位,共需占據32位,即4位元組。理論上最多能表示 2,147,483,648(2的31次方)個字元,完全可以涵蓋一切語言所用的符號。
BMP 字元的 Unicode 編碼表示為 U+hhhh,其中每個 h 代表一個十六進制數位。與 UCS-2 編碼完全相同。對應的4位元組 UCS-4 編碼後兩個位元組一致,前兩個位元組的所有位均為0。
2.實現方式
Unicode 的實現方式不同於編碼方式。一個字元的 Unicode 編碼是確定的。但是在實際傳輸過程中,由於不同系統平台的設計不一定一致,以及出於節省空間的目的,對 Unicode 編碼的實現方式有所不同。Unicode 的實現方式稱為Unicode轉換格式(Unicode Translation Format,簡稱為 UTF)。
例如,如果一個僅包含基本7位ASCII字元的 Unicode 文件,如果每個字元都使用2位元組的原 Unicode 編碼傳輸,其第一位元組的8位始終為0。這就造成了比較大的浪費。對於這種情況,可以使用 UTF-8 編碼,這是一種變長編碼,它將基本7位ASCII字元仍用7位編碼表示,佔用一個位元組(首位補0)。而遇到與其他 Unicode 字元混合的情況,將按一定演算法轉換,每個字元使用1-3個位元組編碼,並利用首位為0或1進行識別。這樣對以7位ASCII字元為主的西文文檔就大大節省了編碼長度(具體方案參見UTF-8)。類似的,對未來會出現的需要4個位元組的輔助平面字元和其他 UCS-4 擴充字元,2位元組編碼的 UTF-16 也需要通過一定的演算法進行轉換。
再如,如果直接使用與 Unicode 編碼一致(僅限於 BMP 字元)的 UTF-16 編碼,由於每個址都不相同,Macintosh機和PC機上對位元組順序的理解是不一致的。這時同一位元組流可能會被解釋為不同內容,如編碼為 U+594E 的字元「奎」同編碼為 U+4E59 的「乙」就可能發生混淆。於是在 UTF-16 編碼實現方式中使用了大尾序(big-endian)、小尾序(little-endian)的概念,以及BOM(Byte Order Mark)解決方案。(具體方案參見UTF-16)
此外 Unicode 的實現方式還包括 UTF-7、Punycode、CESU-8、SCSU、UTF-32等,這些實現方式有些僅在一定的國家和地區使用,有些則屬於未來的規劃方式。目前通用的實現方式是 UTF-16小尾序(BOM)、UTF-16大尾序(BOM)和 UTF-8。在微軟公司Windows XP操作系統附帶的記事本中,「另存為」對話框可以選擇的四種編碼方式除去非 Unicode 編碼的 ANSI 外,其餘三種「Unicode」、「Unicode big endian」和「UTF-8」即分別對應這三種實現方式。
目前輔助平面的工作主要集中在第二和第三平面的中日韓統一表意文字中,因此包括GBK、GB18030、Big5等簡體中文、正體中文、日文、韓語以及越南字喃的各種編碼與 Unicode 的協調性被重點關注。考慮到 Unicode 最終要涵蓋所有的字元,從某種意義而言,這些編碼方式也可視作 Unicode 的出現於其之前的既成事實的實現方式,如同ASCII及其擴展Latin-1一樣,後兩者的字元在16位 Unicode 編碼空間中的編碼第一位元組各位全為0,第二位元組編碼與原編碼完全一致。但上述東亞語言編碼與 Unicode 編碼的對應關系要復雜得多。

『柒』 java內 怎麼漢字轉unicode

string.getbytes("ISO646-US")

Unicode當然是一個很大的集合,現在的規模可以容納100多萬個符號。每個符號的編碼都不一樣,比如,U+0639表示阿拉伯字母Ain,U+0041表示英語的大寫字母A,「漢」這個字的Unicode編碼是U+6C49。
Unicode固然統一了編碼方式,但是它的效率不高,比如UCS-4(Unicode的標准之一)規定用4個位元組存儲一個符號,那麼每個英文字母前都必然有三個位元組是0,這對存儲和傳輸來說都很耗資源。

『捌』 java怎麼轉換為unicode編碼

public static String string2Unicode(String string) {

StringBuffer unicode = new StringBuffer();

for (int i = 0; i < string.length(); i++) {

// 取出每一個字元
char c = string.charAt(i);

// 轉換為unicode
unicode.append("\\u" + Integer.toHexString(c));
}

return unicode.toString();
}

『玖』 編寫JAVA程序輸出中文字的unicode編碼

我寫的,你試試,你可以把它改寫成循環的,可以一直把字元的Unicode輸出,完善後發給我哈:
import java.io.*;
public class FindUnicode {
public static void main(String[] args) throws IOException{
InputStreamReader read = new InputStreamReader (System.in);
int ch = read.read();
System.out.print("\\u"+Integer.toHexString(ch));
read.close();
}
}

『拾』 Java如何將一段漢字變成unicode碼

publicclassT{
publicstaticvoidmain(String[]args){
Strings="我愛你";
System.out.println(string2Unicode(s));
}
(Stringstring){

StringBufferunicode=newStringBuffer();

for(inti=0;i<string.length();i++){

//取出每一個字元
charc=string.charAt(i);

//轉換為unicode
unicode.append("\u"+Integer.toHexString(c));
}

returnunicode.toString();
}
}

閱讀全文

與java中文轉unicode相關的資料

熱點內容
壓縮餅干翻譯 瀏覽:686
macos命令行窗口的樣式 瀏覽:248
androidflipboard 瀏覽:878
投資公司投資源碼 瀏覽:74
python語料訓練 瀏覽:338
武夷岩茶產地溯源碼 瀏覽:383
求生組隊用什麼伺服器最好 瀏覽:24
php回調匿名回調函數 瀏覽:107
源碼翻譯軟體哪裡找 瀏覽:523
邪惡程序員解說 瀏覽:600
醫生找程序員 瀏覽:423
cad三維剖切命令 瀏覽:55
壓縮機的氣能流多遠 瀏覽:85
linuxfdiskt 瀏覽:696
iphone沒有id怎麼用app 瀏覽:983
手機淘寶網站源碼 瀏覽:743
小車上的壓縮機怎麼改氣泵 瀏覽:568
免費雲伺服器任務 瀏覽:211
蘋果怎樣在手機上做壓縮文件 瀏覽:644
如何搭建sslvpn伺服器 瀏覽:33