タグ

2008年4月24日のブックマーク (12件)

  • Journal of miyagawa (1653): I created a module HTTP::Response::Charset

    http://svn.bulknews.net/repos/public/HTTP-Response-Charset/trunk/So I created a module HTTP::Response::Charset, which detects a charset of HTTP response using various techniques (Content-Type, META tag, BOM, XML declaration and Encode::Detect). The motivation is to get correctly decoded Unicode string from any HTTP response, especially text/html, text/plain, XHTML and RSS/Atom.The POD document has

  • ruby|perl - 文字コードのちょっと高度な判定 : 404 Blog Not Found

    2007年01月11日21:00 カテゴリLightweight Languages ruby|perl - 文字コードのちょっと高度な判定 これははっきり言って悩ましい。ですが、判定が曖昧な場合はその旨をきちんと通知するのがBetter Practiceではないかと思います。 Matzにっき(2007-01-03) 手元のcalkiがUTF-8の「》」相当の文字(U+8BB)を含むエントリが文字化けするので、 nkf-utf8のソースを見てみた。 どうも自動判定の優先順位がEUC-JP,SJIS,JIS,UTF-8で固定されていて、 EUCの範囲内に収まる文字列はすべてEUC-JPとみなすことになっている。 で、UTF-8の「》」はEUC-JPの「損」と同じバイト列なのだ。例えば、以下を行ごとにコード判定すると、以下のような結果になります。 son.utf8 » 損 »損 »Son nk

    ruby|perl - 文字コードのちょっと高度な判定 : 404 Blog Not Found
  • Perlで作るモバイルサイトのコツ:第4回:CodeZine

    はじめに 携帯用のサイトを作成する際に避けて通れないのが文字コードです。入出力とWebアプリケーション内部での文字コードを統一すべきか、絵文字はどう扱えばよいのか。文字コード1つ取ってもさまざまな問題があります。 今回はこれらの問題に対して、筆者がいつも行なっている方法を紹介したいと思います。 対象読者 PerlCGIアプリケーションを作成したことがあり、携帯用のサイトを作成したい方。 必要な環境 Perl 5.8以上が動作する環境。 文字コード変換 最近のWebアプリケーションの開発では、多言語対応という観点から「UTF-8」という文字コードを使用した開発が主流となってきています。PC用サイトのみの開発であれば、すべての処理においてUTF-8を使用するため、特別な文字コード変換処理を実装する必要はありません。 しかし日国内の携帯電話は、主に「Shift_JIS」で記

  • 高速半角全角ライブラリ

    Perlで半角・全角・絵文字処理を行うのに欠かせない Jcode モジュールですが、如何せん処理が遅い。Perl 5.8.xでは Encode モジュールがあるのですが Jcode と扱いが結構違うので (+д+)マズー Jcode 1.9 系/2.x系も内部実装が Encode モジュールに変更されたので、Jcoce 0.x 系と動作が違って (+д+)マズー そこで XS を使った半角・全角・imode絵文字処理を高速処理するモジュールを公開します。Jcode の処理に比べて 10 倍程度の高速化が期待できますが、XS モジュールなのでコンパイルできる環境が必要となります。 ※コンパイル済みのモジュールは gcc のバージョンの差異で動作しない可能性があるので配布を停止しました。 ≫スクリプトはこちら(DrkEncode.tar.gz) 動作環境 gcc 等の C コンパイラが使用

  • UTF8のデータを、Jcode.pmで全角半角カナ変換して文字化け - サラリーマンから起業するリアル

    Jcode.pmで、h2zというメソッドがあり、これを使うと、半角カナを全角カナにできるってことだったので、下記のように実装(ファイルはUTF8で保存) use Jcode; use utf8; my $str = 'アイウエオ'; my $obj = Jcode->new($str,'utf8'); #半角カナを全角カナに変換 $str = $obj->h2z->utf8; print $str;こうすると、半角カナは全角カナになったんだけど、いくつかの漢字が文字化け。 調べてみると、Jcodeは内部で一度eucにして変換かけてるらしいので、UTF8のみ対応する漢字が含まれていると文字化けする。 ここhttp://d.hatena.ne.jp/dayflower/20060530/1148951624を参考に、Unicode::Japanese使って対策。下記のように実装したら問題なし!

    UTF8のデータを、Jcode.pmで全角半角カナ変換して文字化け - サラリーマンから起業するリアル
  • Perlでカタカナひらがな変換

    Perlでカタカナひらがな変換 2006-08-07-5 [Programming] Perlでカタカナひらがな変換をやろうと思ったら、 Unicode::Japanese を使うのが手軽なのかな。 - 山科 氷魚 / Unicode-Japanese - search.cpan.org http://search.cpan.org/dist/Unicode-Japanese/ とりあえず使うことにしてみた。 以下、適当なサンプルプログラム。 #!/usr/bin/perl # 入力はEUC-JPのTSVで住所とその読み仮名(カタカナ)。 # 出力はUTF-8のTSVで住所とその読み仮名(カタカナ+ひらがな)。 use strict; use warnings; use Unicode::Japanese; while(<>) { chomp; my @col = split("\t",

    Perlでカタカナひらがな変換
    makoto15
    makoto15 2008/04/24
    Perlでカタカナひらがな変換
  • 横着プログラミング 第9回: sary: Suffix Array のライブラリとツール

    最終更新日: 2002-12-18 (公開日: 2002-12-18) Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿です。 私にフローチャートだけを見せて、テーブルは見せないとしたら、 私はずっと煙に巻かれたままになるだろう。逆にテーブルが見せて もらえるなら、フローチャートはたいてい必要なくなる。 -- Frederick P. Brooks Jr. *1 プログラミングにおいてはデータ構造が重要であり、正しいデータ 構造を選択すればアルゴリズムは自明なものとなる、という主張が ある。Rob Pike*2 の "Notes on Programming in C" *3 によると、現実的なプログラムに必要なデータ構造は次の 4つであ るという。 配列 (array) 連結リスト (linked list) ハッシュテーブル

  • Dynamic Programming による類似文字列マッチの実装例

    Dynamic Programming による類似文字列マッチの実装例 2007-01-22-4 [Programming][Algorithm] 「Modern Information Retrieval」(8.6.1 p.216) での Dynamic Programming (DP) の解説のところのアルゴリズムを 素直に Perl で実装したみた。 さらにマッチ箇所取り出しロジックも実装してみた。 # DP はいわゆる「類似文字列検索(あいまい検索)」に使うと 便利なalgorithm。 実は、大学院でも前の会社でも、PerlやらC++やらで実装して使ってた。 単純ながら使い勝手もよく、まさに現場向きかと。 grep 式に頭から見ていくので計算量的にはイマイチなのだが、 転置インデックス検索などで範囲を絞ってから適用すれば実用上問題ない。 ■定義みたいなの Q1. 二つの文字列 "

    Dynamic Programming による類似文字列マッチの実装例
  • フクロウ本も三代目 - 書評 - 詳説 正規表現 第3版 : 404 Blog Not Found

    2008年04月29日00:00 カテゴリ書評/画評/品評Lightweight Languages フクロウも三代目 - 書評 - 詳説 正規表現 第3版 オライリー矢野様より献御礼。いつもありがとうございます。 詳説 正規表現 第3版 Jeffrey Friedl 株式会社ロングテール / 長尾高弘訳 [原著:Mastering Regular Expressions (3rd Ed.)] 初出2008.04.23; 販売開始まで更新 「正規表現のバイブル」も、第三版となって邦訳登場。 書、「詳説 正規表現 第3版」は、正規表現(regexp)に関するこの地球上で最も包括的(comprehensive)な専門書。かつては入門書すら存在せず、そのおかげで「正規表現といえばフクロウ」だった第一版から10年。正規表現の利用シーンは格段に増え、書籍の方も「入門正規表現」が出るなど、正規表

    フクロウ本も三代目 - 書評 - 詳説 正規表現 第3版 : 404 Blog Not Found
  • Algorithm::Diff で類似文字列検索

    Algorithm::Diff で類似文字列検索 2008-04-22-3 [Algorithm][Programming] Perl のモジュール Algorithm::Diff[2004-12-12-2]を使って、線形時間で類似文字列検索するサンプルプログラム。 まあ、 agrep があればそれでいいんですけどね。 サンプルコード(ads.pl): #!/usr/bin/perl use strict; use warnings; use Algorithm::Diff; use utf8; use Encode; use open ':utf8'; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; my $key = shift; my @seq1 = split(//, decode('utf-8', $key)); while (<

    Algorithm::Diff で類似文字列検索
  • 中国語ピンイン変換 - Pinconv

    中国語オンライン辞書

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知