Vba 如何在Visual Basic中将字符串转换为字节
我正在尝试模拟密码学中的一个算法,我需要将0和1的字符串转换回一个单词。例子: 我有:01011110010101101100000110110000101101 我已将其拆分为字符串数组: 0101111000101 每个成员有7个字符。我想得到一个0101111在UTF8中表示的字母?我该怎么做 我尝试了CType(“0010101”,Byte),但失败了。这样我可以通过max 111。Vba 如何在Visual Basic中将字符串转换为字节,vba,Vba,我正在尝试模拟密码学中的一个算法,我需要将0和1的字符串转换回一个单词。例子: 我有:01011110010101101100000110110000101101 我已将其拆分为字符串数组: 0101111000101 每个成员有7个字符。我想得到一个0101111在UTF8中表示的字母?我该怎么做 我尝试了CType(“0010101”,Byte),但失败了。这样我可以通过max 111。 帮助://p>UTF-8是8位的,而那些仅仅是7位。你是说7位ASCII码吗 在这种情况下,您可以: F
帮助://p>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␅6倍。直到后来我才注意到[vba]。方括号
[
]
有什么作用?@ja72内置在Excel vba中,可以快速访问单元格引用和函数。他甚至可能没有要求VBA,他可能是指VB.NET,在这种情况下,[A1]将被替换为一个临时变量,BIN2DEC函数必须来自VB.NET库。