Конвертировать гекс в строку - PullRequest
0 голосов
/ 23 апреля 2019

Я преобразую строку в VBScript Classic ASP в шестнадцатеричный код, как показано ниже:

Function StringToHex(ByRef pstrString)
    Dim llngIndex
    Dim llngMaxIndex
    Dim lstrHex
    llngMaxIndex = Len(pstrString)
    For llngIndex = 1 To llngMaxIndex
        lstrHex = lstrHex & Right("0" & Hex(Asc(Mid(pstrString, llngIndex, 1))), 2)
    Next
    StringToHex = lstrHex
End Function

Когда я передаю строку, например "moe", я получаю "6D6F65"

Теперь я пытаюсь преобразовать этот шестнадцатеричный код обратно в строку с помощью хранимой процедуры в SQL Server, как показано ниже:

convert(nvarchar, convert(varbinary, @Param,2))

, но он переводится в неправильную строку на китайском языке.

1 Ответ

2 голосов
/ 23 апреля 2019

Ваша строка varchar, а не nvarchar.Преобразовать в правильный тип данных для правильного значения:

convert(varchar, convert(varbinary, @Param,2))

db <> fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...