我们有一个VB6程序加密一组字符ente在西部Win OS计算机上,加密的字符串被解密回来。但是在日本的计算机上,它不起作用,并被解码为一堆????。输入和输出(解码)文本框都设置为带有日语脚本的MS UI Gothic。部分代码如下。还提供了样本输入。
输入/输出:
inputStr = 機帰帰
outputStr= 0Y365H
finalStr= ???
部分代码:
Private Const IC_CONST_INST_KEY_ENCRYPT_STR = "41S81U4AYYPGZDNXKWMPGK0PMDS"
Private Sub cmdEncrypt_Click()
Dim inputStr As String
Dim outputStr As String
Dim finalStr As String
Dim sUnicodeValue, sAsciiValue
inputStr = txtUInit.Text
outputStr = EncryptString(inputStr, IC_CONST_INST_KEY_ENCRYPT_STR)
txtUEncrypt.Text = outputStr
finalStr = DecryptString(outputStr, IC_CONST_INST_KEY_ENCRYPT_STR)
txtUDecrypt.Text = finalStr
End Sub
答案 0 :(得分:1)
VB6无法正确处理unicode日文字符,在运行加密程序之前需要将unicode转换为ASCII格式。