タグ

文字コードに関するy-kawazのブックマーク (10)

  • Rubyのエンコーディング - tmtms のメモ

    Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

    Rubyのエンコーディング - tmtms のメモ
    y-kawaz
    y-kawaz 2013/02/18
    凄いまとめ。コレを見て改めて自分で扱うのは入出力全てUTF-8でいいやと思ったw
  • 文字ストリームと StringDecoder - 日記

    この記事は「東京 Node 学園祭 2012 アドベントカレンダー」の 15 日目の記事です。 id:jovi0608 によるこのアドカレ 13日目のエントリ「Node API のクラス図を公開しました。」でも明らかなように、Node の重要なコンセプトの一つがストリームです。ストリームについては id:Jxck による東京 Node 学園の発表資料 「Node Academy 7 | ”Stream Stream Stream !!!”」も参考にどぞー。 そのストリームですが、大雑把には入力ストリーム (Readable Stream) と出力ストリーム (Writable Stream) があり、その両方でもあるフィルタストリーム (Filter Stream) や 双方向ストリーム (Duplex Stream) がある。。。 なんて話が上記の id:Jxck による資料には書いてあ

    文字ストリームと StringDecoder - 日記
  • text.ssig33.com - UTF-8-Mac と git によって発生する問題に打ち勝った。

    UTF-8-Mac と git によって発生する問題に打ち勝った。 これまで僕は仕事では主に Linux マシンを用いていたのだけど、先日 MacBook Air の 11 インチのやつを買ったのでせっかくだしこれを仕事に使いたくなった。 ところで Mac OSX ではファイル名は UTF-8-Mac という素敵な文字コードで記録されており、一般的には NFC で符号化されているのに、こいつは NFD で符号化されている。 極簡単に説明すると、濁点と半濁点が分かち書きされている、つまり が という文字を か + ゛ として記録されている。 これでどのような問題が発生するかというと Linux 上で mkdir test cd test touch がぎぐげご git init git add -A git commit -m test というふうにして作ったリポジトリを Mac に clo

    y-kawaz
    y-kawaz 2011/08/08
    これはUTF-8-Macが変態なのが悪い
  • いいから聞け! 俺が文字コードについて教えてやるよ その1(前提知識編) - 谷本 心 in せろ部屋

    ちょっと久々のJavaネタですが、 前から書き溜めていた、文字コードやエンコードについてのノウハウを書きます。 今回は、詳細な説明に入る前に、前提になる知識や用語について説明しておきます。 文字コードとエンコードって違うの? 新人くん「では、HTMLの文字コードはUTF-8でお願いします」 先輩社員「文字コードじゃなくてエンコーディングでしょ?」 新人くん「えっ。あぁ、はい、それで」 文字コードとエンコード(エンコーディング)を混同して使ったりすると、 ちょっと原理主義的な人に怒られたりするんですけど、 大まかに言えば、「文字コード」は文字に割り当てられた「数字」のことで、 「エンコード」は文字と数字をマッピングする「方式」のことだと捉えていれば、大きくは外れません。 ただ、「文字コード」という言葉は、「数字」「方式」の両方で使われるほか、 文字一覧を示す「Charset」という意味で使わ

    いいから聞け! 俺が文字コードについて教えてやるよ その1(前提知識編) - 谷本 心 in せろ部屋
    y-kawaz
    y-kawaz 2011/06/15
    前提知識編だけに基礎過ぎ。続く中級編、上級編、応用編、魔界編に期待。
  • Unicodeの似た文字を整理してみた - y-kawazの日記

    XMLやCSV等のデータをJavaで色々加工して出力したりといったことをしてると必ずハマるのが波線などの文字化け問題です。 文字化けが発覚するたびにググって場当たり的な対処を繰り返すのに疲れたのでよく問題になる文字と形が似た文字をリストアップして、更にそれをJavaで各種エンコーディングに変換したらどの文字になるかを頑張って纏めました。 ついでに文字化けしないよう上手いこと出力可能な文字に置換する関数も作ってみました。 Javaの変換テーブル 表中の U,S,W,E,J はそれぞれ、UTF-8、Shift_JIS、Windows-31J、EUC-JP、ISO-2022-JP で出力した際の文字です。 見た目で分からないくらい似た文字ばかりなので、各セルにマウスカーソルを乗せたらツールチップで確認できるようtitleにコードポイントを書いておきました。 分かりやすいよう、青は文字化けなし、黄

    Unicodeの似た文字を整理してみた - y-kawazの日記
    y-kawaz
    y-kawaz 2010/11/12
    Unicodeの似た文字を整理してみた。/Javaの文字化け対策関数を追記した。/ちなみに記者さんが思い思いにあまり深く考えずに入力した文章を明らかな文字化け無しで大体そのまま表示したかっただけだからね。
  • 「Unicode 6.0」が策定、絵文字が国際標準に

    y-kawaz
    y-kawaz 2010/10/14
    ブコメ見ると勘違いしてる人が居るようだけど、コードが決まったってだけで、絵文字の見た目に関してはフォントの問題で図にあるのは只の1例、携帯端末で表示するのはカラフルな絵文字が割り当てられると思うよ。
  • 絵文字が開いてしまった「パンドラの箱」第6回--Google・Apple提案とそのシナリオ

    WG 2ダブリン会議に持ち込まれた絵文字の提案 2009年4月21日火曜日、ここはイギリスのお隣、アイルランドの首都ダブリン郊外です。広大なキャンパスをかまえるダブリン・シティ大学の一画では、前日から11カ国のナショナルボディ(以下、NB)と2つの組織のリエゾンメンバー(連絡担当会員)が集まって、第54回WG 2会議が開かれていました。 大学の正門から真っ直ぐに延びた広い道を100メートルばかり行った突き当たりに、巨大なる工学部校舎が建っています。その建物の奥深く、2階にあるミーティングルームでは、先ほどから重苦しい空気が立ちこめていました。 ここで開かれていたのはWG 2の会議ではなく、特定のテーマを扱うアドホック会議です。「Ad-Hoc Committee on Emoji Encoding」(以下、Emojiアドホック会議)。──そう、2月のUTC会議を無事に通過したGoogle

    絵文字が開いてしまった「パンドラの箱」第6回--Google・Apple提案とそのシナリオ
  • UnicodeとUTF-8の違いは? - Humanity

    という2chのスレがかなり勉強になったのでまとめ。 少しでも有用だと思ったものは載せてあるので結構長いです。 Unicodeのような文字集合(符号化文字集合?)やUTF-8のようなエンコーディング方式に限らず色んな文字コードにまつわる話があります。 たびたび話が繰り替えされますがそれは確認ということで。 (元スレ) 追記:簡単にまとめました。 1 :デフォルトの名無しさん:2007/04/30(月) 20:02:37 ビッグインディアンとかなんとかかんとか 3 :デフォルトの名無しさん:2007/04/30(月) 20:05:48 また、頭の悪そうなスレが・・・ >>1 それは魚とマグロの違いを訊ねるようなもんだ。 4 :デフォルトの名無しさん:2007/04/30(月) 20:06:49 魚と鮪というよりは、魚と刺身の違いのような気がする。 5 :デフォルトの名無しさん:2007/04/

    UnicodeとUTF-8の違いは? - Humanity
  • 文字の情報を調べるためのブックマークレット - IT戦記

    ウェブで見かけた文字が、やたら気になることがあるので 作ってみました javascript:location.href = 'http://www.fileformat.info/info/unicode/char/' + (function(r){ var n = r.startContainer; var p = r.startOffset; return (n.nodeType == 3) ? n.nodeValue.charAt(p) : n.childNodes[p].textContent.charAt(0); })(getSelection().getRangeAt(0)).charCodeAt(0).toString(16) + '/index.htm'; void(0); 使い方は簡単 気になる文字を選択してブックマークレットを実行するだけ! 対応ブラウザ HTML5 t

    文字の情報を調べるためのブックマークレット - IT戦記
    y-kawaz
    y-kawaz 2009/11/25
    これは便利
  • #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found

    2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を] Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

    #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found
    y-kawaz
    y-kawaz 2009/09/13
    関係無いがperlに限らず未だにencode/decodeの概念が分からなくなるときがある…
  • 1