mieki256's diary



2005/11/21(月) [n年前の日記]

#13 [prog][flash] utf8 と utf8n の違いってなんでしょか

perl と Jcode.pm を使った実験用のスクリプトを書いて、UTF8 の xml を吐き出したつもりが。xyzzy で開いたら、utf8n と表示されている。…utf8 と utf8n の違いはなんでしょか? fc で、utf8のそれと、utf8n のそれを比較してみたら、中身が違ってるみたいだし。さてはて。

_約定期日記(2005/3/22の項) に若干記述が。
余談だが、UTF8とUTF8Nの違いを今更知った。TeraPadにUTF8とUTF8Nの2つあるので謎だな〜と思っていたが、UTF8はUTF8Nの先頭にBOM(Byte Order Mark)というエンディアンを示す2バイトのデータが付いているのだ。しかしUTF8はエンディアンが関係ない(もともとインターネット上だと エンディアンに関係なく順に("123"という文字列なら0x31 0x32 0x33)格納するし)のでUTF8Nというのがあるらしい?

約定期日記 より

なるほど、やはり違うのか。

ファイルサイズを確認してみたら、3バイトしか違わなかった。3バイト分ずれてるから、fc が「違うところがこんなにあるよ!」と言ってきただけなのだな。

FLASHでutf8・utf8nを読ませてみたけど特に文字化け等はしなかった :

そのへんいい具合に処理をしてくれてるということなのであらうか。

考えてみたら、Windows、Mac、UNIX で、改行コードすら違うわけで。結構色々なところでいい具合に処理してくれてるのかもしれんなぁ。> FLASH の ActionScript。

まあ、後で問題が出たら、このへん疑おう。

この記事へのツッコミ

Re: utf8 と utf8n の違いってなんでしょか by dseg    2006/01/12 11:28
こんにちは。
ActionScript 2.0のクラスを書いていた時、UTF8nで保存すると、(日本語のコメントが入っている時に)うまくコンパイルできなくなったことがあります。エラーメッセージも「コンパイルできませんでした」みたいな大雑把なもので、原因が分からず途方にくれた事があります。UTF8で保存し直すだけでコンパイルが通るようになりました。
あとは、昔Flash MXで外部XMLを読み込むタイプのものを作った時、外部XMLがUTF8nだったら文字化けする事がありました。こちらもUTF8で保存し直すとうまくいきました(これは、Flash MX 2004…というかFlash Player 7以降で直ったような感じが)。
困ったのはそれ位ですね。
Re: utf8 と utf8n の違いってなんでしょか by mieki256    2006/01/13 01:21
> UTF8nで保存するとコンパイルできなくなった
> UTF8で保存し直すだけでコンパイルが通るように

おお。勉強になりますです。
余計なトラブルを抱え込まないためにも、
FLASH関係ではUTF8で保存することを心がけておいたほうがヨサゲ、
ということですな。コレは記憶にとどめておかないといかんですな…。
Re: utf8 と utf8n の違いってなんでしょか by jun    2007/06/24 01:52
余談なんですけど、Javaで携帯アプリを開発していて、UTF-8Nが標準と思っているエミュレーターでUTF-8のデータを読み込ませたら、先頭の文字がかならず「?」になっていたので、なぜかなー?と悩んでいました。私もTera-PadでUTF-8Nと言うのを発見してなかったらハマってましたよ。

以上です。

過去ログ表示

Prev - 2005/11 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project