掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Unicodeで書かれたハングル文字のテキストファイルをVBAで読み込みセルに描画するには? (ID:80268)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> この場合の"FF FE"はBOMではなくZWNBSP文字なのでしょうか? [FF FE 0D 00 0A 00] というバイトデータの並びは、 UTF-16 として見れば『ChrW(&HD) & ChrW(&HA)』の意味ですが、 UTF-16LE として見れば『ChrW(&HFEFF) & ChrW(&HD) & ChrW(&HA)』の意味です。 つまり、そのテキストがどのエンコーディングで作成されているかによって、どちらの意味にも取れるわけです。 (どちらと見るべきなのかは、そのテキストの作成者に聞いてください) まぁ十中八九、UTF-16 だと思いますけれどね。 > また、LEとはリトルエンディアンのことだと認識してますが、 それは確かにその通りです。 UTF-16LEとUTF-32LEはリトルエンディアンの形式、UTF-16BEとUTF-32BEはビッグエンディアンの形式です。 なお、UTF-16とUTF-32の形式は、BOMによってリトルエンディアンにもビッグエンディアンにもなります。 (UTF-16でBOMが無い場合は、ビッグエンディアンです) > 「UTF-16のリトルエンディアン 」と「UTF-16LE」は、 > 別物のように書かれているような印象を受けますが、別物なのでしょうか? 実は、それらは別物なのです。 BOMはエンディアンの識別の目的で使われるものですから、UTF-16LE や UTF-16BE のように、バイト順が分かっている時には不要なのです。 UTF-16BE、UTF-16LEの先頭に ZWNBSP が来た場合、それは文字と扱われ、BOMとして削除される事はありません。 ちなみに、今回の [フト] というハングル1文字、すなわち、UCS-2の U+AC00 "Hangul syllable Kiyeok A" をUTF-16で表現した場合、以下のいずれかのバイトの並びとなります。 1. [AC 00] ……BOM無しのUTF-16 2. [FE FF AC 00] ……ビッグエンディアン(BOM付き)のUTF-16 3. [FF FE 00 AC] ……リトルエンディアン(BOM付き)のUTF-16 > これから > Get#で試してみます。 『.Charset = "unicode"』も駄目だった、という事でしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.