台灣最大程式設計社群網站
線上人數
728
 
會員總數:245462
討論主題:189220
歡迎您免費加入會員
討論區列表 >> Java >> Hex的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Hex的問題
價值 : 15 QP  點閱數:1233 回應數:10

樓主

Huber
門外漢
0 53
576 65
發送站內信

使用JAVA 1.5時,目前遇到一個問題
String AA = HexCode + "123456789";
我想要的下,於HexCode這個變數中,加入"008C"的 Hex Code,然後後面再加上字串123456789
但是現在我不知要如何將 008C 這個HEX Code 加入HexCode?
也就是用UltraEdit 的16進位來看,會變成00 8C 31 32 33 34 35 36 37 38 39

搜尋相關Tags的文章: [ Hex ] , [ 16 ] ,
本篇文章發表於2014-08-21 22:50
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Raymond
檢舉此回應
用 Array of Byte 來存, 用 String 的 getBytes() 把字串分解成 byte[]

本篇文章回覆於2014-08-22 04:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Huber
檢舉此回應
謝謝!
但出來的結果是這樣的明碼:00 8C 31 32 33 34 35 36 37 38 39
我是想要00 8C這一部份是在正常文件是看不見的,也許是會變成 ?123456789 (用一般模式看)
而用UltraEdit的切換16進位模式中會看00 8C 31 32 33 34 35 36 37 38 39
也就是?這一個字元代表008C
本篇文章回覆於2014-08-22 09:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

yilin
檢舉此回應
像這樣?
本篇文章回覆於2014-08-22 10:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Huber
檢舉此回應
是的,就像這樣子,但因為"008C"於轉換後就會變成3F,而非8C的值了!
本篇文章回覆於2014-08-22 11:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Huber
檢舉此回應
我想要的內容是:
%&999900081234567
其中%為一個字元,其HEX Code為00,而&也是一個字元,其HEX Code 是 8C
所以,上例中其總字元為17
現在就是不知要如何將%位置寫入Hex 00,及將 &寫入Hex 8C
本篇文章回覆於2014-08-23 00:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

CCY
檢舉此回應
一個 char 2 byte
http://www.cafeaulait.org/course/week2/02.html
不知道是不是因為這個而疑惑?
本篇文章回覆於2014-08-23 22:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Huber
檢舉此回應
這我知道,因我要將8C這個HEX CODE與一般的英數字放在一起並傳送出去,用過很多方式轉,轉出來皆是3F
例如:strToHex.convertHexToString("8C"),這轉出來後變成3F
因為原字串是8888013399999999這一串字的長度是140,我要於這串字前面加上長度,並用140轉成16進位,但長度欄位只有二字元
因此,也才會於88880133等字串前加入二字元,其Hex Code分別為00 8C這樣子
本篇文章回覆於2014-08-23 23:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

CCY
檢舉此回應
所以那個 HexCode 是要放後面字串長度的 2 byte 空間?
如果是 長度用 short 儲存
輸出包覆成 DataOutputStream
然後分別用
.writeShort 輸出長度
.writeUTF 輸出字串
這樣試試?
本篇文章回覆於2014-08-24 00:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

CCY
檢舉此回應
更正一下...
字串用 writeChars(String) 輸出
本篇文章回覆於2014-08-24 00:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

Huber
檢舉此回應
您好,這種方式是要輸出二次嗎?因我是要輸出一次,並包括二位元的長度及整個後面字串
例如:#$999901010
#是一個Byte,HEX代表00,$也是1byte ,其Hex是 8C
本篇文章回覆於2014-08-24 23:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.