⑴ 用java如何把unicode碼轉成漢字
java中將unicode碼轉換成漢字的方式是直接使用string類型,列印即可:
Stringascii="u4f01u4e1a";//這兩個unicode碼就是企業的
System.out.println(ascii);//列印出來
運行結果:
企業
Unicode只有一個字元集,中、日、韓的三種文字佔用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍採用的是UCS-2,它用兩個位元組來編碼一個字元, 比如漢字"經"的編碼是0x7ECF,注意字元編碼一般用十六進制來 表示,為了與十進制區分,十六進制以0x開頭,0x7ECF轉換成十進制 就是32463,UCS-2用兩個位元組來編碼字元,兩個位元組就是16位二進制, 2的16次方等於65536,所以UCS-2最多能編碼65536個字元。
⑵ Java中是採用unicode碼來表示字元的,但是Java中的數據自動轉換時,char轉為int時轉的卻是char的ASCII值
java中語法規定就是這樣的呀,與你的java項目的編碼無關,就算你用的GBK,char轉int也是轉成ASCII值,記著這樣用就行啦。
⑶ java中漢字字元的hashcode是用ASCII還是用Unicode來計算生成的
估計是Unicode
⑷ java中什麼是Unicode代碼點數
你說的是codePoint?可以認為是單個的字元或者字元串中一個個的字元,java的String有一些方法可以或者指定的字元,可以用char表示也可以用int表示
比如 "sfdg".codePointAt(1); 返回結果是102,就是ASCII碼中的小寫字母 f
"的搜噶".codePointAt(1); 返回結果是25628,就是unicode中的字元 搜
但是ASCII碼(可以表示128個字元)沒法表示中文和英語外的其他語言字元,於是拓展出了unicode編碼體系,可以表示65535個字元(目前這個編碼沒用完,有空的),java默認的字元編碼就是unicode,但是ASCII每個字元一個位元組(8位),unicode一個字元是2個位元組(16位),太佔地方了,所以有人優化了下,形成了utf-8(還有utf-16之類的);
而之所以使用這些編碼是因為計算機只認識0101,而我們更習慣具體的字元,因此這個需要做個轉換。
⑸ java中有ascii轉unicode的函數嗎
java內部的char都是unicode編碼,一個char兩個位元組
至於你說向外部傳送,指什麼呢?
如果是想向文件里寫ASCII,對字元串getBytes判斷一下自己轉換就好了,或者用getEncoding更方便
如果是socket通信,也可以一樣處理
⑹ 如何用java獲得字元串的ASCII值
String str="民";
int asc = (int)str.charAt(0); ///中文是unicode碼,如果是英文字母就是ASCII
///多位元組字元串,和源碼的編碼有關
⑺ java Int類型的值 轉換成ascii 值對應的字元
1、將數值 「22545」 轉換成 char 類型,然後運行,控制台得到的結果是 中文「塹」.
char b = (char)22545;
System.out.println(b);
2、將中文 「一」 轉換成 int 類型,然後運行,控制台得到的結果是 19968.
int b = '一';
System.out.println(b);
(7)javaunicodeascii擴展閱讀:
1、字面值賦值
在使用字面值對整數賦值的過程中,可以將int literal賦值給byte short char int,只要不超出范圍。這個過程中的類型轉換時自動完成的,但是如果你試圖將long literal賦給byte,即使沒有超出范圍,也必須進行強制類型轉換。例如 byte b = 10L;是錯的,要進行強制轉換。
2、表達式中的自動類型提升
除了賦值以外,表達式計算過程中也可能發生一些類型轉換。在表達式中,類型提升規則如下:
所有byte/short/char都被提升為int。
如果有一個操作數為long,整個表達式提升為long。float和double情況也一樣。
⑻ java中Unicode到底是什麼啊
UNICODE和ASCII是一個意思 只不過他們在對字元進行表達的時候 長度不同 ASCII是美國編碼 UNICODE是統一編碼, UNICODE其實就是ASCII的擴充,因為互諒網的發展ASCII無法滿足(因為ASCII是單位元組的,容量有限)全世界的各種字元,因此要更大的更統一的編碼,於是出現了 UNICODE 。說白了 就是的設計缺陷。等以後發現外星人了,估計還要宇宙統一代碼 呵呵
⑼ JAVA中怎樣實現unicode與ascii碼的相互轉化
1、ASCII碼 string s = "梁"; System.Text.Encoding GB2312 = System.Text.Encoding.GetEncoding("GB2312"); byte[] gb = GB2312.GetBytes(s); 這時gb中有兩個數字193(11000001),186(10111010) 2、非ASCII編碼 string s = "梁"; System.Text.Encoding GB2312 = System.Text.Encoding.GetEncoding("GB2312"); byte[] gb = GB2312.GetBytes(s); 這時gb中有兩個數字193(11000001),186(10111010) 3、Unicode Unicode當然是一個很大的集合,現在的規模可以容納100多萬個符號。每個符號的編碼都不一樣。C#中如果你想看看某個漢字的Unicode編碼可以使用如下代碼: string s = "梁"; byte[] unicode = Encoding.Unicode.GetBytes(s); 這時unicode中有兩個數字129(10000001),104(1101000)