日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

字符区位码 java_用Java取得汉字的区位码

發布時間:2024/3/12 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符区位码 java_用Java取得汉字的区位码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

發代碼之前先轉段預備知識

計算機處理漢字信息的前提條件是對每個漢字進行編碼,這些編碼統稱為漢字編碼。漢字信息在系統內傳送的過程就是漢字編碼轉換的過程。

漢字交換碼:漢字信息處理系統之間或通信系統之間傳輸信息時,對每一個漢字所規定的統一編碼,我國已指定漢字交換碼的國家標準“信息交換用漢字編碼字符集——基本集”,代號為GB 2312—80,又稱為“國標碼”。

國標碼:所有漢字編碼都應該遵循這一標準,漢字機內碼的編碼、漢字字庫的設計、漢字輸入碼的轉換、輸出設備的漢字地址碼等,都以此標準為基礎。GB 2312—80就是國標碼。該碼規定:一個漢字用兩個字節表示,每個字節只有7位,與ASCII碼相似。

區位碼:將GB 2312—80的全部字符集組成一個94×94的方陣,每一行稱為一個“區”,編號為0l~94;每一列稱為一個“位”,編號為0l~94,這樣得到GB 2312—80的區位圖,用區位圖的位置來表示的漢字編碼,稱為區位碼。

機內碼:為了避免ASCII碼和國標碼同時使用時產生二義性問題,大部分漢字系統都采用將國標碼每個字節高位置1作為漢字機內碼。這樣既解決了漢字機內碼與西文機內碼之間的二義性,又使漢字機內碼與國標碼具有極簡單的對應關系。

漢字機內碼、國標碼和區位碼三者之間的關系為:區位碼(十進制)的兩個字節分別轉換為十六進制后加20H得到對應的國標碼;機內碼是漢字交換碼(國標碼)兩個字節的最高位分別加1,即漢字交換碼(國標碼)的兩個字節分別加80H得到對應的機內碼;區位碼(十進制)的兩個字節分別轉換為十六進制后加A0H得到對應的機內碼。

public

class

WordCode?{

public

static

String?bytes2HexString(

byte

b)?{

return

bytes2HexString(

new

byte

[]?{?b?});

}

public

static

String?bytes2HexString(

byte

[]?b)?{

String?ret

=

""

;

for

(

int

i

=

0

;?i

<

b.length;?i

++

)?{

String?hex

=

Integer.toHexString(b[i]

&

0xFF

);

if

(hex.length()

==

1

)?{

hex

=

'

0

'

+

hex;

}

ret

+=

hex.toUpperCase();

}

return

ret;

}

public

static

void

main(String[]?args)

throws

Exception?{

String?str

=

"

"

;

byte

[]?bs

=

str.getBytes(

"

GB2312

"

);

String?s

=

""

;

for

(

int

i

=

0

;?i

<

bs.length;?i

++

)?{

int

a

=

Integer.parseInt(bytes2HexString(bs[i]),

16

);

s

+=

(a

-

0x80

-

0x20

)

+

""

;

}

System.out.println(s);

}

}

最后發個查詢的網站

總結

以上是生活随笔為你收集整理的字符区位码 java_用Java取得汉字的区位码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。