パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Windowsのメモ帳(notepad)に文字化けするバグ」記事へのコメント

  • 「Tiny bug for nards」だと化ける。
    「Tiny Bug for nards」だと化けない。

    大文字2文字、2文字以上含まれていれば化けないのかな?

    テストにしては少ないけど。
    • by Anonymous Coward
      文字コード判定アルゴリズムが垣間見える気がします。

      別コメントにもあるように、2バイトずつ区切ってリトルエンディアンの
      UTF-16として解釈するみたいだけど、「 B」(0x20,0x42→U+4220)はUnified
      CJK Ideographs(U+4E00 - U+9FBF)の範囲を逸脱し、CJK Ideographs
      Extension Aの範囲になってしまうので、Unicode文字列である可能性が
      ぐっと低くなるとみなされるのでしょう。

      どなたか、さらなる解析をお願いします。

      • by Anonymous Coward
        UTF-16ってふつうBOMついてないか?
        UTF-8でも勝手にBOMつけるんだから先にそっちで判定すりゃいいのに。
        • BOMがついていたら、まっさきにそれで判別するでしょうが、
          ついていないファイルの場合、それ以外の特徴から類推するしかないでしょう。

          それに、BOMをつけるのはMSだけのローカルルールだったような気がします。
          Notepadが、MS製エディタで作られたファイルだけを読めればいいのなら、BOMだけを
          頼りに判別すればいいでしょうが。

          • > BOMをつけるのはMSだけのローカルルールだったような気がします。

            規格として定義されているのかは確認できませんが、
            RFC 2781 [rfc.net]の3.2 Byte order mark (BOM)、
            及びunicode.orgのFAQ、UTF-8, UTF-16, UTF-32 & BOM [unicode.org]
            でBOMについてふれらていますので、ローカルルールとまではいかない気がします。

            あとFAQでは、BOMはUTF16だけではなく、UTF32はもちろんUTF8でも付けられると書いてます。
            知らなかった...

Stay hungry, Stay foolish. -- Steven Paul Jobs

処理中...