java中的char中unicode和utf的關係

來源:互聯網
上載者:User

標籤:

char是Java的基礎類型(原類型 ),是字元類型。在Java中字元是基於Unicode編碼的,所以一個Java的字元佔2個位元組,字元的內容存的是unicode的碼值(位元字)。問題來了,程式是怎麼把unicode的碼值轉換為我們要的程式資料?例如:漢字的‘漢‘對應的unicode碼值為:0x6C49。我們想要的程式資料為‘漢‘,而電腦儲存的為碼值。如何把碼值‘0x6c49’顯示為‘字’,需要一個轉換過程。 這個轉換過程需要一個轉換規則。轉換規則的書面寫法為UTF(UCS Transformation Format) ,現在有的轉換規則有utf-8,utf-16,utf-32。

現在我們通常用的轉換規則為utf-8,其轉換規則如下;

Unicode編碼(十六進位)  UTF-8 位元組流(二進位)000000 - 00007F           0xxxxxxx000080 - 0007FF          110xxxxx 10xxxxxx000800 - 00FFFF          1110xxxx 10xxxxxx 10xxxxxx010000 - 10FFFF          11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 

 

“漢”字的Unicode編碼是0x6C49。0x6C49在0x0800-0xFFFF之間,使用用3位元組模板了:1110xxxx 10xxxxxx 10xxxxxx。將0x6C49寫成二進位是:0110 1100 0100 1001, 用這個位元流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。

java的虛擬機器預設的轉換規則為utf-8;

java中的char中unicode和utf的關係

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.