我有一個字節數組,我編碼爲一個字符串:VB.NET編碼一個字符錯誤
Private Function GetKey() As String
Dim ba() As Byte = {&H47, &H43, &H44, &H53, &H79, &H73, &H74, &H65, &H6D, _
&H73, &H89, &HA, &H1, &H32, &H31, &H36}
Dim strReturn As String = Encoding.ASCII.GetString(ba)
Return strReturn
End Function
然後我寫經IO.File.AppendAllText文件。 如果我打開該文件在010編輯器(以查看二進制數據)它顯示爲這樣:
47 43 44 53 79 73 74 65 6D 73 3F 0A 01 32 31 36
原始字節在位置11包含,並且編碼的字符串包含3F。 如果我改變編碼Encoding.Default.GetString,它給我:
47 43 44 53 79 73 74 65 6D 73 E2 80 B0 0A 01 32 31 36
任何幫助將是多不勝感激!
這給我 47 43 44 53 79 73 74 65 6D 73 C2 89 0A 01 32 31 36 其中有89個,還插入了C2。 我可能需要教育自己更多的編碼。 – 2010-06-16 16:08:54
嗯......當用AppendAllText將它寫入文件時,它確實增加了C2。但是,爲什麼要先將字節轉換爲字符串,然後將字符串寫入文件?爲什麼不直接寫字節? – 2010-06-16 16:57:58
我需要在將文件寫入文件之前通過加密函數運行字符串的選項。有時它會被加密,有時不會。我可以在編碼後刪除插入的C2字符...... – 2010-06-16 17:25:12