請教如何獲取一個漢字的前半個位元組的ASCII碼?,謝謝
這個漢字可能是GBK編碼,也可能是UTF16,也可能是UTF8編碼
我只要獲取第一個位元組,并將這個位元組轉成整數,無需考慮CPU大小端。
謝謝
uj5u.com熱心網友回復:
byte[] b_gbk = "好".getBytes();System.out.println(b_gbk[0]);
這樣好像可以,但是得到的是 -70,請教:
1. 為啥是負的,不是正的70?
2. 是否這個數值肯定在 0和-127之間,后者0和127之間?
謝謝
uj5u.com熱心網友回復:
package 獲取漢字前半個碼值;
import java.io.FileInputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
FileInputStream a = null;
try {
int ce = (int) ('漢');
System.out.println(ce);
a = new FileInputStream("file");
int aDate = a.read();
System.out.println("第一個位元組值:"+aDate);
aDate = a.read();
System.out.println("第二個位元組值:"+aDate);
} catch (IOException e) {
e.printStackTrace();
}
}
}

這樣應該可以了吧,file檔案中是漢字:漢
uj5u.com熱心網友回復:
我忘記關閉流了,別學我。。。
uj5u.com熱心網友回復:
轉成位元組截取第一個再轉為ascii碼uj5u.com熱心網友回復:
等下,我發現個詭異的事
好奇怪啊,漢字不是兩個位元組儲存的嗎,而且你的那種方法也是這樣,可以取到陣列[ 2 ],你可以試試。
有沒有大佬啊,我也蒙了。。。
uj5u.com熱心網友回復:
看編碼 。utf-8是三個位元組 GBK是倆個轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/284179.html
標籤:Java SE
上一篇:Spring核心練習
下一篇:基姆拉爾森計算公式
