看板 java 關於我們 聯絡資訊
大家好 請問String要如何以Byte分割? 舉例來說 String a="ABC安"; 想要將a以2byte來分割 可是當尾巴剛好遇到中文字時 若無法分割,則換下一個字串 結果就會變成a[0]="AB",a[1]="C",a[2]="安" 這樣 請問有辦法辦到嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.28.56 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1493037024.A.7C7.html
steven11329: java預設每個字元不就兩個byte了嗎? 04/24 20:41
ssccg: char是2byte 04/24 20:43
ssccg: 不談byte數,你規則寫出來,不就照規則寫個迴圈做就好? 04/24 20:46
XDXQQ: 我的意思是每個字串2byte,可是如果這個字串已經有一個英 04/24 20:53
XDXQQ: 文字了,接下來那個字是中文不就塞不進去,需要到下一個字 04/24 20:54
XDXQQ: 串,想請問JAVA中有沒有什麼涵式可以解決這種問題 04/24 20:54
ssccg: 英文就是2 byte 04/24 21:14
XDXQQ: 英文字不是1byte嗎 04/24 21:33
ssccg: 不是 04/24 21:48
y3k: String.getBytes()自己實驗看看便知 04/24 21:50
ssccg: getBytes是編碼後的結果,不一定... 04/24 22:00
ssccg: 中文系統的話大概會用MS950變成英文1byte 中文2byte 04/24 22:01
ssccg: String本身其實本來就沒有byte數的概念,就是以char為單位 04/24 22:01
ssccg: 只是java char在記憶體中是UTF-16 04/24 22:03
popcorny: 用Character.isIdeographic去判斷中日韓 04/24 23:51
XDXQQ: 因為剛接觸java很多不懂,所以才會誤以為英文就是1byte 04/25 01:12