如何將字節數組轉換爲字符串?我需要獲取原始內容,例如「96 = A8 = FC- = A8 = FE」,但是當我使用Encoding.UTF8.GetString(bytes)時,它返回「96 - 」。謝謝!將byte []轉換爲字符串
回答
我想你誤解了字符串的內容。最接近「原始內容」的是使用Encoding.Unicode
- .NET在內部使用UTF-16,因此轉換爲UTF-16實際上只是將內存內容從字符串複製到字節數組的情況。
現在,回到你的問題,你有什麼數據,什麼是代表,爲什麼?文本數據是字符。二進制數據基本上是數字。你有有有兩個之間的映射,這就是編碼。
我有一個article on Unicode它可以幫助你,但我強烈懷疑你需要退後一步,然後才能取得任何進展。
如果您嘗試將字節數組轉換爲以十六進制表示的字節字符串,則可以使用BitConverter.ToString(byte[])
,但我不會將其描述爲「原始」轉換。
編輯:好的,現在我們有上下文,它更容易回答。你在看什麼是quoted printable編碼。電子郵件應該指定引用的可打印的編碼,所以當你解碼QP編碼時,這就是你應該使用的。如果您目前沒有存儲原始郵件的內容編碼,你應該開始所以現在在做什麼?
我認爲你是對的,請他退後一步,重新考慮這個問題。不過,我最好的猜測是,他期望這些編碼的十六進制值能夠轉化爲可在他的機器上查看的字符。如果是這樣,也許他需要從一些本地代碼頁映射到Unicode。 – 2009-09-15 14:49:29
這只是編碼。默認情況下,如果這真的是他期望的:) – 2009-09-15 15:03:17
我需要做的是解析電子郵件的內容。在解析之前,我們保存數據庫中的內容。該列在byte []中返回給我。我的主要問題是電子郵件包含分數,例如「96⅜-⅞」。小數部分被轉換爲十六進制,但其餘的消息是相同的。我已經有了一個代碼來處理轉換(使用正則表達式),但我不知道如何從返回的字段中獲取「96 = A8 = FC- = A8 = FE」,它位於byte []中。 也許我解決這個問題的方法並不令人滿意。任何建議,將不勝感激。謝謝! – 2009-09-15 15:10:46
您可能想要使用ASCII編碼,而不是UTF8。
您實際上需要每個字節的十六進制表示的格式化字符串。問題How do you convert Byte Array to Hexadecimal String, and vice versa, in C#?將向您展示如何獲取字符串,並且您可以更改該代碼以添加所需的任何「字節間字節」格式。
謝謝亞當!這也有幫助。 – 2009-09-16 21:59:31
您還可以使用Convert.ToBase64CharArray方法
http://msdn.microsoft.com/en-us/library/system.convert.tobase64chararray(VS.80).aspx
Convert.ToBase64CharArray (字節[],的Int32,的Int32,CHAR [],Int32)將
一個8位的無符號整數 陣列的一個子集轉換爲Unicode字符陣列的等效子集 編碼 ,基數爲64位。參數 指定子集作爲 輸入和輸出數組中的偏移量,並將輸入數組 中的元素數量 進行轉換。
- 1. 將字符串轉換爲byte []和byte []轉換爲JAVA中的字符串
- 2. 快速字符串爲byte []轉換
- 3. 轉換字符串我輸入爲byte []
- 4. 將字符串轉換爲byte []創建零字符
- 5. 在Java中,如何正確地將byte []轉換爲字符串爲byte []?
- 6. 將byte()變量轉換爲帶編碼的字符串
- 7. 如何將Modified-UTF8中的byte []轉換爲字符串?
- 8. C#:將byte []轉換爲UTF8編碼的字符串
- 9. 將從Jsonobject獲取的字符串轉換爲Byte [];
- 10. 如何將java byte []轉換爲python字符串?
- 11. 無法將類型'字符串'轉換爲'byte []'?
- 12. Silverlight將byte []轉換爲字符串用於圖像
- 13. 的byte []的InputStream轉換成字符串
- 14. 將字符串轉換爲字符串
- 15. 將字符串轉換爲字符串
- 16. 將字符串轉換爲字符串
- 17. 字符串轉換爲字節轉換
- 18. 將字符串轉換爲int,int轉換爲字符串
- 19. C#,同時將字符串轉換爲byte []和byte []字符串我離開了內存異常
- 20. 將字符串轉換爲「_」
- 21. 將字符串轉換爲
- 22. 將字符串轉換爲?
- 23. Unicode轉換爲字符串葉字節Byte命令標記
- 24. 將轉換器映射字符串轉換爲字符串
- 25. 轉換爲字符串
- 26. 將字符串轉換爲字符ascii
- 27. Java - 將字符串轉換爲字符[]
- 28. C++ - 將字符串轉換爲字符
- 29. 將字符*轉換爲字符串
- 30. 將字符串轉換爲字符
真的沒有這等作爲字符串無編碼: http://www.joelonsoftware.com/articles/Unicode.html 記住ASCII仍是一個編碼! – stusmith 2009-09-15 14:44:53
你是對的stushmith!沒有「無編碼」這樣的東西..我的壞.. – 2009-09-16 21:53:50