タグ

ブックマーク / odz.hatenablog.com (6)

  • 正規化 - odz buffer

    ref:ウノウラボ Unoh Labs: Mac OS X上のUnicode ref:はてなブックマーク - ウノウラボ Unoh Labs: Mac OS X上のUnicode 符号化方式と正規化の問題を激しく混同した解説をどうも。ブックマークコメントをみても正しく問題が伝わっていないように思える。というか、書いた人がきちんと認識してないんじゃないか。 2007年09月04日 omaya omaya 誰が悪いんだろう。 強いて言えば NFD な Unicode の入力に対してまともに動かない Web アプリじゃないかな。 2007年09月04日 mattn mattn macosx, unicode ブラウザのバグだしバージョンで処理しないといけないのかな... ブラウザのバグではない。 しかもややこしいことに、UTF-8で濁点をあらわすコードは「U+309B」(KATAKANA-HIR

    正規化 - odz buffer
  • 文字化け - odz buffer

    ref:PHPの文字化けを気で解決する - ぎじゅっやさん via:よくきたはてダ - 惜しいが間違っている 上鍵さんからツッコミが入ってますが、別の点を。 先ほどの例の時にも書いたが、PHPには内部エンコードという概念は存在しない。ではmbstring.internal_encodingとは何なのか。これは mbstring関数のデフォルトエンコード なだけである。 しかし、変換元が固定になるというのは重要なことなので、 これはソースコードと揃えておくのがBetter。 変換元て。mbstring の関数てエンコーディング変換だけじゃないんだけどなぁ。mb_strlen だって mb_ereg 系の関数だってデフォルトのエンコーディングは mbstring.internal_encoding になるわけで、ソースコードと揃えるのは「Better」というより「原則」だろう。全ての mbs

    文字化け - odz buffer
  • Unicode に関する誤解の誤解 - odz buffer

    ref:Open ブログ: ◆ シフトJIS と unicode via:Matzにっき(2007-03-12) 初めにお断りしておくが、項は、誰かを批判することが目的ではない。素人にありがちな誤解を正すことにある。 上記のサイトで、素人が間違いを犯しているからといって、素人を批判するつもりは毛頭ない。素人が専門知識をもたないのは当然だからだ。私としては、批判するためというよりは、読者が他山の石として眺めるために、上記のサイトを見ることをお勧めする。 Encode.pm の maintainer である dankogai 氏を素人呼ばわりするのもなかなか勇気があると思うが、じゃ、そういう人の誤解を正しておこうか。 一方、 unicode には問題が山積みだ。だいたい、素人は unicode という言葉を使っているが、 unicode というものは一種類しかないわけではない。UTF-8

    Unicode に関する誤解の誤解 - odz buffer
  • 正規表現の否定 #2 - odz buffer

    ref:Unknown::Programming - 文字列の先頭がある単語で始まらない正規表現って ref:odz buffer - 正規表現の否定 ちょいと考えてみたんだけど、任意の正規表現にマッチしない正規表現ってのはこうすれば作れるんではないだろうか。 sub negative_regexp { my ($re) = @_; return qr/\A(?!$re)(?:.(?!$re))*\Z/s; } 適当にモジュール化して適当にテストを書いてみたけどどうだろう。まぁ、テストが全然足りないんだけども。 とりあえず、dankogai さんあたりがツッコミを入れてくれると期待。いや、実は全然既知のネタというオチがありそうだけども。 package Regexp::Negative; use warnings; use strict; use Carp; use version; ou

    正規表現の否定 #2 - odz buffer
  • エンコーディング変換の高速化 - odz buffer

    ref:404 Blog Not Found:perl tips - Encodeを速く使う方法 当然の話だけど、対象の文字列が長くなると、Encode::encode も、$e->encode も大差ない。 ちょっといじって試してみる。 use strict; use warnings; use Benchmark qw/cmpthese timethese/; use utf8; use Encode; use Jcode; use Unicode::Japanese; use Smart::Comments; my $str = join '', ( 'a' .. 'z', ( map { chr } ord('ぁ') .. ord('ん') ) ); $str = $str x shift if @ARGV; my $bytes = encode_utf8($str); my $u

    エンコーディング変換の高速化 - odz buffer
  • 「Perl, Python, Ruby の比較」があまりにもいい加減な件 - odz buffer

    ref:Perl, Python, Ruby の比較 ref:はてなブックマーク - Perl, Python, Ruby の比較 ref:はてなブックマーク - Perl, Python, Ruby の比較 ちょっと遅くなったが以前宣言したとおり、書いておく。 「Perl, Python, Ruby の比較」はどうも調査が足りないのか、結果的にかなり嘘のまじった文章になっている。あくまで、初心者の私見ですので気軽に聞き流してください。とはあるものの、はてブのコメント等で「参考になる」とか言っている人もいる*1ので一応指摘しておこうと思う。 3.2 次に Python 変数はデフォルトで局所変数となるので、 Perl のように my で宣言する必要はありません。 my を強制することで変数の typo を防げるという視点が抜けるのは若干フェアではないですね。 それから、Python には

    「Perl, Python, Ruby の比較」があまりにもいい加減な件 - odz buffer
  • 1