1. ホーム
  2. character-encoding

[解決済み] などのゴミ文字リスト

2022-02-07 18:32:30

質問

RETSサーバーからデータを取得するためにlibretsを使用しています。libretsのEncodingメソッドがうまくいかず、出力に変な文字が表示されます。例えば、''のような文字がâ €€™に置き換えられていることに気づきました。libretsの修正方法が見つからないので、データをダウンロードした後、このようなゴミのような文字を実際の値に置き換えることにしました。このようなゴミ文字列とそれに相当する文字のリストが必要です。ググってみましたが、リソースは見つかりませんでした。どなたか、そのようなゴミ文字と実際の値のリスト、あるいはそのような文字を生成できるコードの断片を紹介していただけませんか。

サンクス

解決方法は?

用語の検索 UTF-8" というのも、あなたが見ているのはこれだからです。

UTF-8は、ユニコード文字をバイト列として表現する方法です。 ("Unicode characters" は、人間の言語ですべて使用される文字と記号の全範囲です)。 通常、1つのUnicode文字は、UTF-8では1、2、または3バイトになります。 これらのバイト(0から255までの数字)をWindowsで通常使用されている文字セットで表示すると、quot;garbage;として表示されます -- この場合、3つのquot;garbage letters;が、実際にはUTF-8のエンコードの3バイトになります。

あなたの例では、スマートクォート文字で始まりました。 . そのユニコードでの表現は、数字 8217 または U+2019 (2019 は 8217 の 16 進法)。 (検索は Unicode" は、Unicodeの文字とその番号の完全なリストです)。 数字8217のUTF-8表現は、次の3バイト列です。 226 , 128 , 153 . そして、この3バイトをWindowsの文字コード(CP-1252")を使って文字として表示すると、次のように表示されます(米国でのWindowsの通常のテキスト表示方法)。 ’ . (検索 "CP-1252" をクリックすると、バイトとキャラクタの表が表示されます)。

リストはないんだ。 しかし、UnicodeとUTF-8をビルトインでサポートしている言語でプログラムを書けば、作ることができます。 私にできることは、あなたが見ているものを説明することだけです。

ダウンロード時にUTF-8を使用するようにlibretsに指示する方法があれば、自動的に問題が解決するかもしれません。 私はlibretsについて何も知らないのですが、quot;UTF-8"という言葉を知っている今、あなたは進歩することができるかもしれないのです。