Re: [問題] 字串轉成Unicode

看板java作者 (IWH68S0XZ8M89)時間16年前 (2008/04/06 00:48), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《snowboylove (無心戀戰)》之銘言: : 在版上看了一些字串轉Unicode的文章 : 可是我依然不太懂 : String s="12AB張三"; : byte[] z=s.getBytes(); : for (int i=0;i<z.length;i++){ : System.out.println("0x"+Integer.toHexString(z[i])); : } : 我這樣轉成16進位會變成 0x31 0x32 0x41 0x42 0xffffffb1 0x69 0xffffffa4 0x54 : 想問一下怎麼把String s轉成Unicode碼或是有其他方法可以把ffffff弄掉的? 在java裡所有字元/字串都是unicode 所以你只需要用String::charAt(int)就可以把每個字(的unicode)弄出來了 用String::getBytes()反而會轉成本地編碼 (像我們就變成big5) -- [LPH] Oops, your OOP's a problem? 說: 你現在還是看不到狗? ************* 說: 看得到 只是 他們不會跑 就一直呆呆在那邊 一直在起點 [LPH] Oops, your OOP's a problem? 說: 你要按"ㄅㄧㄤˋ"它們才會跑啊@@" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84 ※ 編輯: LPH66 來自: 140.112.30.84 (04/06 00:48)

04/06 21:41, , 1F
那個 String::charAt() 看起來好怪 XDXD
04/06 21:41, 1F

04/06 22:33, , 2F
因為指定要用getBytes先轉成位元組 然後再轉16進位
04/06 22:33, 2F

04/06 22:35, , 3F
不然我用String.toCharArray()更快 就不用這麼麻煩= =
04/06 22:35, 3F

04/07 01:43, , 4F
那就&0xFF吧
04/07 01:43, 4F

04/07 01:44, , 5F
既然指定用getBytes那就照用吧 多的ff的用↖這個方法消掉
04/07 01:44, 5F
文章代碼(AID): #17zwrcV- (java)
討論串 (同標題文章)
文章代碼(AID): #17zwrcV- (java)