1

一連の文字を暗号化するVB6プログラムがあります。WesternWinOSコンピュータでは、暗号化された文字列は復号化されて正常に戻されます。しかし、日本のコンピュータでは、それは機能せず、????の束としてデコードされます。入力テキストボックスと出力(デコードされた)テキストボックスの両方が、日本語のスクリプトを使用してMSUIゴシックに設定されています。コードの一部を以下に示します。サンプル入力も示されています。

入出力:

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
4

1 に答える 1

1

VB6 は Unicode の日本語文字を正しく処理できません。暗号化手順を実行する前に、Unicode から ASCII に変換する必要があります。

于 2012-12-10T15:45:41.533 に答える