[問題] Java的Hex code的問題

看板java作者 (在給我二分鐘的愛)時間9年前 (2014/08/23 23:40), 編輯推噓0(008)
留言8則, 1人參與, 最新討論串1/3 (看更多)
大家好: 目前有一Java的問題 我想要將00 8C 這個Hex Code與一字串放在一起,例如: String AA = @#55558759 其中@這代表一個字元,其Hex Code是00 而#也是代表一個字元,其Hex Code是8C 我應如何將00 8C 填入@#這二個字元的位置呢? 因用過很多方式轉,但8C卻於UltraEdit的16進位上看變成3F了 但我是要8C String AA總長度為10字元 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.159.182 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1408808446.A.976.html

08/24 01:52, , 1F
字元是字元,如果你要處理binary value,應該用byte
08/24 01:52, 1F

08/24 01:56, , 2F
如果你硬要用String做,編碼都要指定ISO-8859-1
08/24 01:56, 2F

08/24 02:02, , 3F
8C如果用ASCII、BIG5、UTF8,會因為找不到這個字元,被轉成
08/24 02:02, 3F

08/24 02:03, , 4F
FFFD (Unicode replacement character),再轉回來就變3F
08/24 02:03, 4F

08/24 02:04, , 5F
3F就是?,都是代表不明字元
08/24 02:04, 5F

08/24 03:14, , 6F
還有一個方法就是真的用字元來做,String AA = new String(
08/24 03:14, 6F

08/24 03:15, , 7F
char[]{0x00,0x8c,'5','5'...}),但是java的char是16bits
08/24 03:15, 7F

08/24 03:15, , 8F
你想輸出成一個字元一個byte最終還是要轉成byte
08/24 03:15, 8F
文章代碼(AID): #1J-BN-bs (java)
文章代碼(AID): #1J-BN-bs (java)