将十六进制转换为字符串
Convert hex into a string
我正在将 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 服务器中的存储过程将此十六进制转换回字符串,如下所示:
convert(nvarchar, convert(varbinary, @Param,2))
但它被转换成错误的中文字符串。
您的字符串是 varchar
而不是 nvarchar
。转换为正确值的正确数据类型:
convert(varchar, convert(varbinary, @Param,2))
我正在将 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 服务器中的存储过程将此十六进制转换回字符串,如下所示:
convert(nvarchar, convert(varbinary, @Param,2))
但它被转换成错误的中文字符串。
您的字符串是 varchar
而不是 nvarchar
。转换为正确值的正确数据类型:
convert(varchar, convert(varbinary, @Param,2))