Vb6 LotusScript中的VB ASCB?

Vb6 LotusScript中的VB ASCB?,vb6,lotus,lotusscript,lotus-domino,Vb6,Lotus,Lotusscript,Lotus Domino,正在将Visual Basic SHA-256加密例程转换为在LotusScript中工作 除了VB的AscB命令外,一切都很顺利 Found:“使用AscB函数返回包含字节数据的字符串的第一个字节。” 在LotusScript中找不到同样的方法 请参见LS CByte命令:“CByte返回已转换为Byte的表达式。” 不知道如何让它只返回表达式的第一个字节 有什么建议吗 德里克Asc、LeftB和RightB会做你需要的事吗 在我的测试中 Lenb("A") = 2 Leftb("A", 1

正在将Visual Basic SHA-256加密例程转换为在LotusScript中工作

除了VB的AscB命令外,一切都很顺利

Found:“使用AscB函数返回包含字节数据的字符串的第一个字节。”

在LotusScript中找不到同样的方法

请参见LS CByte命令:“CByte返回已转换为Byte的表达式。”

不知道如何让它只返回表达式的第一个字节

有什么建议吗


德里克

Asc、LeftB和RightB会做你需要的事吗

在我的测试中

Lenb("A") = 2

Leftb("A", 1) = "A"

Asc(Leftb("A", 1)) = 65

Leftb("A", 2) = "A"

Asc(Leftb("A", 2)) = 65

Asc(Rightb(Leftb("A", 2), 1)) = 0 

AscB仅适用于单字节字符编码中的字符串。所有LotusScript字符串数据都是用UTF16双字节编码表示的Unicode

函数的作用是:返回一个包含Unicode字符整数值的长字符串。由于输入是双字节字符,因此Uni()返回的值范围为0到65535。如果要获取这两个字节中每个字节的值,下面的代码将实现以下功能:

Dim ws As New NotesUIWorkspace
Dim s1 As String
Dim u1 As Long
Dim u2 As Long
Dim lowbyte As Integer
Dim highbyte As Integer
Dim b1 As Byte
Dim b2 as Byte

s1 = "Ʃ"    

u1 = Uni(s1)

lowbyte = u1 Mod 256
highbyte = (u1 - lowbyte) / 256

b1 = Cbyte(lowbyte)
b2 = Cbyte(highbyte)

Call ws.Prompt(prompt_ok,"test",s1 + " " + Cstr(Cint(b1)) + " " + Cstr(Cint(b2)))

我可以问你为什么不使用加密字段吗?顺便说一句:SHA-256不是加密。这是一个单向加密哈希函数。谢谢。这对我来说很有意义。