Re: [問題] String分割問題

作者: pttworld (批踢踢世界)   2017-04-24 22:15:39
※ 引述《XDXQQ (傑洛尼莫)》之銘言:
: 大家好
: 請問String要如何以Byte分割?
: 舉例來說
: String a="ABC安";
: 想要將a以2byte來分割
: 可是當尾巴剛好遇到中文字時
: 若無法分割,則換下一個字串
: 結果就會變成a[0]="AB",a[1]="C",a[2]="安" 這樣
: 請問有辦法辦到嗎?
# 確定轉byte array的編碼,以UTF-8為例:
byte[] b = s.getBytes("UTF-8");
# 檢查byte0確定為幾byte的字:
來源:https://en.wikipedia.org/wiki/UTF-8 1993年版
private int utf8Byte0(byte b) {
if(((b >> 7) & 1) == 0) {
return 1;
} else {
StringBuilder sb = new StringBuilder();
for(int i = 7; i >= 1;
作者: adrianshum (Alien)   2017-04-24 22:30:00
這樣轉成string檢查?做個bitwise and 簡單很多吧
作者: ssccg (23)   2017-04-24 23:31:00
感覺原po不是不會自己檢查英文還中文,是想問有沒有專門切2 bytes的String.split,可是String就不是算byte
作者: XDXQQ (傑洛尼莫)   2017-04-25 01:13:00
我也不知道該如何判斷是英文還是中文@@

Links booklink

Contact Us: admin [ a t ] ucptt.com