タグ

sjisとエンコードに関するsnjxのブックマーク (3)

  • Ruby で UTF-8 の文字列を SJIS で文字化けさせたり復元したりする - Secret Garden(Instrumental)

    以下の記事を知人と話していたら思ったよりも盛り上がったので覚書。 新春!文字化けクイズ | Raksul ENGINEERING ちなみにクイズのネタバレがあるので見たくない人は読まないでね!! 縺ゅ¢縺セ縺励※縺翫a縺ァ縺ィ縺 みたいな文字化けした文字列を Ruby で生成する 言及されている文字化けは『 UTF-8 な文字を SJIS で表示すると文字化ける』っていうような話になります。 では、Ruby でこのような文字化けを行う場合どうするのがいいのでしょうか。 これは要するに『 UTF-8 を SJIS として扱い UTF-8 で変換する』という処理で実現することができます。 まず、Ruby のデフォルトのエンコーディングは utf-8 なので単に文字列リテラルを定義した場合は utf-8 の文字列になります。 # 文字列リテラルは utf-8 utf8 = "やばたにえん" pp

    Ruby で UTF-8 の文字列を SJIS で文字化けさせたり復元したりする - Secret Garden(Instrumental)
  • 新春!文字化けクイズ - RAKSUL TechBlog

    初めまして、「文字化けおじさん」です。社内で文字化け事案が発生するといつの間にかその場に居る(リモートワーク環境下では、Slackのチャンネルに現れる)ことから、このような名前になりました。好きなべ物は豆腐です。業は印刷事業のサーバサイドエンジニアです。 さて、ラクスルではいくつかの事業が動いておりますが、どの事業も文字化けとは無縁ではありません。例えば印刷事業であれば印刷工程の途中で化けたり、運送事業(ハコベル)であれば住所の文字が化けたり等、様々なことが起こり得ます。文字化けの対応には幅広い知識が必要になることも多く、学習するのが大変であるということで、社内向けに文字化け学習用のコンテンツを用意しようとしておりました。途中まで作っていたのですが、新年のめでたさに乗じて一部を社外に公開しちゃえ!ということでこの記事ができました。 という訳で、クイズの時間です! これから、文字化けやそ

    新春!文字化けクイズ - RAKSUL TechBlog
  • UTF-8からSJISに変換する時にはShift-JIS系エンコードの種類だけじゃなくてUNICODE正規化も気にしないとダメという話

    UTF-8からSJISに変換する時にはShift-JIS系エンコードの種類だけじゃなくてUNICODE正規化も気にしないとダメという話 利用シーン UTF-8で記述されたテキストをShift-JISエンコードに変換する機会はあります。 UNICODEで表現できる文字の種類の方がShift-JISに比べて圧倒的に広いのですべての文字が変換できるわけではありませんが、「これは変換できてよかろう」というものまでこぼれ落ちるケースは多数あります。 以下こぼれ落ちる例とその対応を示します。 サンプルコード まずはサンプルコード。 rubyで記述していますが、原理はどの言語でも同じです。 str = "あ~あ①髙島屋パバぱ" sjis = str.encode(Encoding::Shift_JIS, :invalid => :replace, :undef => :replace) File.

    UTF-8からSJISに変換する時にはShift-JIS系エンコードの種類だけじゃなくてUNICODE正規化も気にしないとダメという話
  • 1