タグ

Shift_JISに関するa-hamahamaのブックマーク (3)

  • fudist - UTF-8 → cp932(Shift_JIS)変換表

    UTF-8にはcp932(Shift-JIS)に存在しない文字があるため、cp932(Shift_JIS)前提のシステムで使用することができないことがあります。 基的に ♥ ♠ ♦ ♣ のようにcp932(Shift_JIS)に存在しない記号は (はぁと) や外字などへ適当に変換するしかありません。 ただし実際にはcp932(Shift_JIS)でも置換可能な文字だけが問題で変換エラーになっているケースが多数あります。 ページでは文書ファイルをUTF-8からcp932(Shift-JIS)に変換するとき単純置換してさほど問題ない文字の対応表を記します。 cp932(Microsoft定義のShift_JIS) と Shift_JIS とは厳密に言うと ~ など一部の文字コードが異なります。 このためWindowsLinuxでunicode(UTF-8)へ変換した場合異なる文字コードに

  • C/C++のとんだ落とし穴(ハマっちまったよ) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    とあるC++コードがコンパイルエラーするんですが、原因がまったく分からなかったんですよ。「そんなバカな?!」という感じ。しばらくハマってしまいましたよ。 結局、C++でもCでも同じことが起きることが分かりました。次は、僕が遭遇したのと同じ現象が起きるC言語のソースコードです。 // -*- coding: sjis -*- // strange.c struct ThreeNums { int x; // 負の数も指定可能 int y; int z; }; int total(struct ThreeNums nums) { return nums.x + nums.y + nums.z; } コンパイルすると: $ type tdm-gcc tdm-gcc is aliased to `/c/Installed/TDM-GCC-64/bin/gcc.exe' $ tdm-gcc --ve

    C/C++のとんだ落とし穴(ハマっちまったよ) - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • fudist - Shift_JISのダメ文字

    Shift_JIS(SJIS, cp932) の文字コードで、2byte目が0x5c の \ になっているものの俗称(だめ文字、駄目文字) 0x5cの \ は使用するフォントやロケールによりバックスラッシュまたは¥記号で表示されます。 ダメ文字を含む文字列やパス、ファイル名を処理する場合には文字化け、検索不可など様々な不具合が起きることがあります。 ダメ文字には ー ソ 十 表 など、使用頻度の高いものもあるので cp932を扱う場合には注意が必要です。 また広義には2byte目が 0x7c のパイプ文字 | になっている文字や、2byte目が正規表現などのメタ文字と重なる文字も含む場合もあります。 ダメ文字問題は正規表現をはじめとする様々な言語、システムで制御用のメタ文字として扱われる文字と同じバイト列が、SJISの漢字の2byte目に含まれていることにより起こります。 特に 0x5c

  • 1