タグ

2016年5月28日のブックマーク (2件)

  • Shift_JIS、CP932、MS932、Windows-31J(文字コード関連) | 読み物 | ウナのIT資格一問一答

    Windows標準の文字コードはShift_JISではなく、Windows-31Jです。 それらの違いやCP932、MS932といった用語もあわせて整理してみましょう。 まずはShift_JIS。 これは日語の文字集合を符号化する文字符号化方式のうちの一つです。 Microsoftにより、MS-DOSの標準日語コードとして採用され、CP932という管理番号を与えられるとともに独自の拡張が行われました。 MicrosoftはこのCP932を独自に拡張することを、OEMメーカー(MS-DOSを搭載したパソコンを販売するメーカー)に許していたため、各OEMメーカーごとに異なる拡張が行われました。 その後、MicrosoftWindows3.1の日語版を出すにあたり、OEMメーカーにCP932の独自拡張を許すという方針を撤回し、当時、日のパソコン市場で特に大きなシェアを持っていたIBMと

    cpw
    cpw 2016/05/28
    てことはShift_JISってあんま使わない方がいいんだよね。そしたら普段からWindows-31JとかMS932とかで呼んだ方が良い気がする。
  • Windows-31Jに変換する時の例外を防止するためのString拡張 - Qiita

    #変換テーブル上の文字が置換されていることを確認 from_chr = "\u{301C 2212 00A2 00A3 00AC 2013 2014 2016 203E 00A0 00F8 203A}" p from_chr p from_chr.sjisable #Shift_JISにもWindows-31Jにもない文字は諦めて?にする p "ä".sjisable # Windows拡張領域は保持されていることを確認 p "①②③髙島屋".sjisable 実行結果 これどんないいことがあるの? Rubyの内部コードはもはやUTF8。だけど、最終的にはエクセル向けにシフトJISのCSVを出力することもある。だけど、内部コードから出力時にエンコード変換をすると、対応する文字が見つからなくて、例外がでちゃう。例外はヤなので、多少は文字を置き換え(もしくは全く変換できないものは?に置換)して

    Windows-31Jに変換する時の例外を防止するためのString拡張 - Qiita
    cpw
    cpw 2016/05/28