[問題] byte array轉string 存檔問題

看板C_Sharp (C#)作者 (餅乾)時間6年前 (2019/06/15 13:02), 編輯推噓1(106)
留言7則, 4人參與, 6年前最新討論串1/1
請問各位大大: 本來開發接收ascii的介面, 但最近有資料是來hex code, 雖然顯示不正常, 但是存檔後, 用ultraedit從ascii轉hex, 就可以看得到亂碼內容。 不過問題來了, 但只要是byte內容有0x00, 就會導致收到的內容不正常。 我有爬了一些網路的作法, 有人是說hex就應該用hex顯示。 https://social.msdn.microsoft.com/Forums/zh-TW/44d219cd-cd6b-4778-8f33-389c0eaa7be4/byte-array36681string-39023310342183938988?forum=233 但是hex的可讀性不佳, 因為全變成hex顯示, 就連ascii也變成hex顯示。 但假若收的部份改用Encoding.UTF8.GetString(byte)收的內容, 資料卻少了0x00, 就不是原有的資料。 不知大大們有什麼方法, 可以讓ascii及hex都可以收, 但卻不會更改到其內容呢? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.180.148 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1560574938.A.C9B.html

06/15 13:50, 6年前 , 1F
本來就不是Text的data為什麼要轉成String存
06/15 13:50, 1F

06/15 16:59, 6年前 , 2F
傳送前不是要先告訴接收方,要送asc或byte資料?
06/15 16:59, 2F

06/18 08:23, 6年前 , 3F
只能收hex存hex吧,要顯示給人看的時候再翻譯
06/18 08:23, 3F

06/18 08:27, 6年前 , 4F
來源端丟出這段資料時就覺得它不是要給人看的(例如AES公開
06/18 08:27, 4F

06/18 08:28, 6年前 , 5F
金鑰),硬要看只好多做點工作
06/18 08:28, 5F

06/18 14:51, 6年前 , 6F
資料的本質又沒有改變,通通一樣啊
06/18 14:51, 6F

06/18 14:51, 6年前 , 7F
應該是你自己要定義清楚資料的格式吧?
06/18 14:51, 7F
文章代碼(AID): #1T17lQoR (C_Sharp)
文章代碼(AID): #1T17lQoR (C_Sharp)