PDF를 읽는 중 UTF-8 인코딩 문자열이 있는데 일부를 제거하려고합니다. 공백을 나타내지 만 표준 0x20 공간으로 인코딩되지 않은 문자. 내 문제는 문자가 3 바이트의 UTF-8로 표현된다는 것인데,이를 대체 할 수 있도록 문자열이나 문자로 가져 오는 방법을 알 수 없다. 대체하려고하는 두 UTF-8 문자는 0xE28087 및 0xE28088입니다..NET에서 3 바이트 UTF-8 문자열 대체 (3 바이트 UTF-8을 문자열 또는 문자로 변환)
I I에서만도 System.Text.Encoding.UTF8 사용하여 시도 65,000 (UTF-8에서 단일 바이트로 표현 될 수 아마도 항목)
에 정수 파라미터를 차지 대하 및 CHRW 시도했다. 내 캐릭터의 바이트 표현하지만, 결과에 GetChars()는 4 개 문자 대신 한 것 같다 - IE는 내가하려고 어떤 별도의 1 바이트 문자
Dim ResultChars() As Char
Dim bytes() As Byte
Dim SpaceChar As Int32
SpaceChar = Integer.Parse("E28087", Globalization.NumberStyles.HexNumber)
bytes = BitConverter.GetBytes(SpaceChar)
ResultChars = System.Text.Encoding.UTF8.GetChars(bytes)
For Each ResultChar In ResultChars
Debug.WriteLine(ResultChar)
Next
으로 제 3 바이트 문자를 해석한다 의사 코드에서 수행하는 작업은 간단합니다. ConvertedText = ConvertedText.Replace (StringOrCharofThisUnicodeCharacter ("0xE28087 ")," ")
.NET은 UTF-32가 아닌 UTF-16을 사용합니다. (각 문자는 UTF-16 코드 포인트입니다.) –
Jon : 물론. 오식. 그것을 발견해 주셔서 감사합니다. –
완벽하게 작동합니다. 대단히 감사합니다. 다른 사이트를 읽으려는 다른 사이트는 ChrW (& H2008)와 같은 사이트에서 교체하려고합니다. –