我在這裏有一個奇怪的問題。在我的代碼中,變量b字符串的值爲「Test Test Test」。我們可以在調試變量時以及在文本可視化器中看到這個值。使用消息框時可變截斷
現在的問題是,如果我使用Messagebox顯示相同的字符串,則值就是「Test」。我可以在這裏做什麼來獲得完整的價值。
我正在從ebcdic編碼的字節轉換爲相應的utf8字符串並執行上述操作。有什麼想法嗎。以下是我的示例代碼。
Dim hex As String = "e385a2a300000000e385a2a3000000e385a2a3"
Dim raw As Byte() = New Byte((hex.Length/2) - 1) {}
Dim i As Integer
For i = 0 To raw.Length - 1
raw(i) = Convert.ToByte(hex.Substring((i * 2), 2), &H10)
Next i
Dim w As String = System.Text.Encoding.GetEncoding(37).GetString(raw)
Dim raw1 As Byte() = Encoding.UTF8.GetBytes(w)
Dim b As String = Encoding.UTF8.GetString(raw1)
MessageBox.Show(b)
ASCII 0是僅在MSGBOX中的字符串終止,我記得它仍然是VB6中的異常,它在寫入變量時還在調試窗口中截斷了一個字符串 – Martin 2011-12-23 12:22:40