タグ

PythonとUnicodeに関するn2sのブックマーク (2)

  • RubyとPythonで全角文字を半角文字2文字として数える その2 - _dog(underdog)

    前回のRubyのソースでは、ASCII文字と半角カナかどうかを半角文字の判定に使用していた。今回はPythonと同様に、Unicodeの定義から判定できるようにクラスを作成した。 ついでに右寄せと中央寄せも追加した。 Singletonで最初に使用したときに、Unicode定義ファイルを読み込む。 定義リストの検索は2分探索で行う。 実行には以下のURLにある EastAsianWidth.txt が必要。 http://www.unicode.org/reports/tr41/ http://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt 追記: 速度が遅かったためbsearchから文字列処理を外に出して高速化 Ruby 1.8.6 unicodedata.rb require "singleton" # UnicodeDataクラス(

    RubyとPythonで全角文字を半角文字2文字として数える その2 - _dog(underdog)
    n2s
    n2s 2012/03/02
    現時点ではunicode-utils(id:entry:24697050)とか使うのが実用的なようなので、あくまで参考として。
  • Pythonのお勉強 Part46 より引用 - ときどきの雑記帖

    ■_ 閏年 なんか閏年の2/29の扱いで不具合というのを見かけましたが、あるエピソードを一つ。 閏年の判定というのは西暦年が4で割り切れるというだけでなく 100でどうとか400でどうとかありますよね。 で、1990年代に開発された製品の中に この閏年の判定をただ単に4で割り切れるかどうかでしかやっていなかったのだけど、 2000年が400で割り切れるために手抜きの実装(バグ)が発覚しないですんでしまった ものがあったとかなかったとか。 それとは別に、なぜか100での判定はやってるのに400ではやってなくて以下略なものとか。 ■_ Pythonのお勉強 Part46 66 デフォルトの名無しさん [sage] 2012/02/29(水) 08:31:09.46 ID: Be: >>> u'%10s' % (u'abc') u' abc' だとスペース7個のあとに「abc」が表示されますが

    n2s
    n2s 2012/02/29
    「(Cの入門書で)アドレスを渡して、それを * で dereference するやり方が 「参照渡しと言われている」」ええええええ
  • 1