У меня есть проект VB.net, в котором мне нужно преобразовать символ в шестнадцатеричное значение. По https://msdn.microsoft.com/de-de/library/963zt96e(v=vs.90).aspx, я попробовал это (пример):Функция hex() возвращает неправильные значения - почему?
Dim sChar as String = "€"
Dim sNum as Integer = AscW(sChar)
Dim sHex as String = hex(sNum).ToString
Когда я поставил точку останова после этого, я получаю эти значения в прямой консоли:
?sNum
8364
?hex(sNum)
"20AC"
что правильно и работает, как ожидалось.
Но вычисленное значение в запущенной программе мусор:
?sHex
"20254"
Почему я получаю разные результаты в выполнении кода и прямой консоли ввода? И как получить ожидаемое строковое значение ("20AC"
)?
Я не могу воспроизвести это. – GSerg
Какова ценность sNum? Возможно, это проблема кодирования. –
Почему 'hex' в нижнем регистре? У вас есть еще одна функция, которую вы назвали 'hex'? – GSerg