UTF-8エンコーディング文字列を使用しています。PDFを読むことから始めています。スペースを表すが標準の0x20スペースとしてエンコードされていない文字。私の問題は、文字が3バイトのUTF-8で表現されているため、文字列や文字に変換する方法を見つけることができないため、置換を行うことができるということです。私が置き換えようとしている2つのUTF-8文字は、0xE28087と0xE28088です。.NETで3バイトのUTF-8文字列置換(3バイトUTF-8を文字列または文字に変換)
私は私もSystem.Text.Encoding.UTF8を使用してみました65,000(UTF-8で単一バイトで表現することができ、おそらくアイテム)
の整数パラメータを取るのChrとChrWを試みました。それは私がしようとしています何
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
別の1バイト文字としての私の3バイト文字を解釈しているIE - 私の文字のバイト表現でGetCharsは()が、結果は4つの文字の代わりに一つだけのようです擬似コードで行うことは簡単です: ConvertedText = ConvertedText.Replace(StringOrCharofThisUnicodeCharacter( "0xE28087 ")、" ")
.NETでは、UTF-32ではなくUTF-16が使用されます。 (各文字はUTF-16コードポイントです。) –
Jon:もちろん。打ち間違え。それを見つけていただきありがとうございます。 –
完全に動作します、ありがとうございます - 私が置き換えようとしている他のスペースを読んでいる人は、同じサイトからChrW(&H2008)です。 –