다른 언어 문자로 구성된 16 진수 문자열이 있습니다. 이 16 진수 문자열을 유니 코드 텍스트로 변환하는 VB 스크립트 기능을 도와주세요.16 진수를 유니 코드로 변환하는 VBScript 함수
16 진수 문자열 "506F7274756775C3AA73"의 경우 "Português"를 출력으로 가져와야합니다.
다음과 같은 기능을 시도했지만 결과로 "Português"를 제공합니다.
MsgBox ConvertHexToUnicode("506F7274756775C3AA73")
Function ConvertHexToUnicode(hexString)
Dim Strlen
Dim Charaset_array(20)
Dim i
Dim j
Strlen = Len(hexString)
i = 0
j = 1
Do
Charaset_array(i) = Mid(hexString,j, 2)
i = i + 1
j = j + 2
Loop While j < Strlen
ConvertHexToUnicode = ""
For Each chara In Charaset_array
If Not(IsEmpty(chara)) Then
ConvertHexToUnicode = ConvertHexToUnicode + ChrW("&H" & chara)
End If
Next
End Function
당신이 시도 무엇을 설치해야 [ mcve]를 공유 하시겠습니까? 이것이 도움이되지 않는다면 게시하기 전에 [ask]를 읽어주십시오. – Lankymart
내 문제를 재현하는 샘플 코드로 내 질문을 편집했습니다. @Lankymart –
문제는 각 Hex 값이 1 바이트를 나타내지 만 일부 문자는 2 바이트 이상으로 구성되어 문자가 일치하지 않는 이유입니다. 문자열에는 각 문자가 사용하는 바이트 수를 식별 할 수있는 방법이 없으므로 자동화 된 문자열 디코딩 방법을 찾지 못할 수 있습니다. – Lankymart