我試圖模擬密碼學中的算法,並且需要將0和1的字符串轉換爲單詞。例如: 我有:01011110010101101000001101100001101 我已經它分割成一個字符串數組: 0101111,0010101,...如何在Visual Basic中將字符串轉換爲字節
每個構件具有7個字符。我想獲得一個0101111在UTF8中表示的信件?我該怎麼做呢?
我嘗試CType(「0010101」,字節),但它失敗。我可以通過這種方式最大111。 幫助:/
我試圖模擬密碼學中的算法,並且需要將0和1的字符串轉換爲單詞。例如: 我有:01011110010101101000001101100001101 我已經它分割成一個字符串數組: 0101111,0010101,...如何在Visual Basic中將字符串轉換爲字節
每個構件具有7個字符。我想獲得一個0101111在UTF8中表示的信件?我該怎麼做呢?
我嘗試CType(「0010101」,字節),但它失敗。我可以通過這種方式最大111。 幫助:/
UTF-8是8位,只有7位。你的意思是7位ASCII碼?
在這種情況下,在這裏你去:
Function BinToStr(binStr As String) As String
Dim i As Long
For i = 0 To (Len(binStr)/7) - 1
[A1] = CLng(Mid(binStr, i * 7 + 1, 7))
BinToStr = BinToStr & Chr([BIN2DEC(A1)])
Next
End Function
如果這不是你要找的內容,讓我知道。
呃......應該不是字節是8位而不是7位? –
@DanielCook這可能不太好。每個具有任意7位模式(0 msb)的字節都是有效的UTF-8編碼,每個字符一個字節。對於任意8位模式,這不是真的。一個可以工作的字符集是CP437。 –
對於VB.NET和效率低下的LINQ,我得到了zT␅6X。直到後來我才注意到[vba]。 –