タグ

encodeとperlに関するyokochieのブックマーク (18)

  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • 第32回 Encode:日本語だけ扱えればよいのではなく | gihyo.jp

    一般的には推奨されないencodingプラグマ 前回取り上げたencodingプラグマは、簡単なjperl用のスクリプトを移植したい場合には便利ですが、perlunifaqというPerl付属のマニュアルにははっきり「Don't use it.」と書いてあるくらい、一般的には使えないプラグマと認識されています。 前回も見たように、encodingプラグマが対応しているのは、ソースコードに埋め込まれている文字列やそれに類する正規表現、そして標準入力からのデータを指定された文字コードからPerlの内部表現に変換し、標準出力へ出力する際には内部表現を指定された文字コードに変換することだけです。ほかのファイル入出力部分や、コマンドラインから受け取った引数、標準エラー出力などの変換は行わないので、ちょっと凝ったことをしようと思うと、結局「外から入ってきたものはデコード、外に出すものはエンコード」という

    第32回 Encode:日本語だけ扱えればよいのではなく | gihyo.jp
  • encode/decode より find_encoding のが速いのは知ってたけどここまでか - だるろぐ

    今更ネタが続く。 くりかえしdecode()とencode()する場合には、OOインターフェースを使った方が高速です。なぜなら(de|en)codeが文字コード名を解決する手間がなくなるからです。 404 Blog Not Found:perl - Encode 入門 と言われているのは知ってたけど実際は毎回 decode('euc-jp', $str) とかしてて実際どんくらい違うのかなーとふと思って use strict; use warnings; use Benchmark qw/:all/; use Encode qw/find_encoding encode decode/; my $euc = find_encoding('euc-jp'); my $utf = find_encoding('utf-8'); open my $fh, "<", "euc.txt"; my @

    encode/decode より find_encoding のが速いのは知ってたけどここまでか - だるろぐ
  • Encodeでラクラク日本語処理 - JPerl Advent Calendar 2009

    こんにちは!ラブプラスとときメモ4の狭間で揺れ動いているxaicronです!! 今日は日でプログラムを書いていたら避けては通れない気がする、Encodeの話をしようと思います! はじめに まず、この記事を読む前に、Perlのバージョンの確認をしてください。以下のようにやればバージョンが表示されます。 % perl -v ここで、5.8.1より下の数字ができてきた方は、Perlのバージョンアップをしてください。5.8.1より下のバージョンでは、Perlの内部文字コードが安定していないので、いい感じになりません。できれば5.8.8以上のバージョンを使いましょう。 それから、文字コードってなによって人も適当にWikiとかで調べてから読んだ方がいいと思います!! Encode.pm Encodeは昔のjcode.plやJcode.pmに代わる、現在の文字コード処理のスタンダードModuleです。

  • jocode.pl, Jcode.pm, Encode.pmのパフォーマンス比較/一番速いのはどれ?

    全て 1.このサイトについて 2.作品DB開発/運用 3.ホームページ制作技術 4.Perl 5.C言語 / C++ 6.検索エンジン&SEO 7.サッカー 8.自分のこと 9.Linux 10.旅行 11.思ったこと 12.パソコン 13.Berkeley DB 14.その他技術系 15.企画 16.スマートフォン 17.鑑賞 18.皆声.jpニュース 19.インターネット業界 20.運用マニュアル(自分用) 21.技術系以外実用書 22.料理 23.ALEXA 24.アニメ 25.会計 26.漫画 27.設計書 28.色々サイト作成 29.サーバー 30.自分専用 31.生活 32.OP/ED/PV 33.ゲーム 34.DB整備 35.新規開始作品紹介 36.英語圏の話題 37.大道芸 38.映画 39.PHP 40.ダイエット 41.Mac 42.JavaScript 43.MySQ

  • Variable Byte Code と UTF-8、またはUTF-24が存在しないわけ : 404 Blog Not Found

    2009年08月05日00:30 カテゴリLightweight Languages Variable Byte Code と UTF-8、またはUTF-24が存在しないわけ 実は、これに非常に良く似た符号化を、我々は日々目にしています。 γ符号、δ符号、ゴロム符号による圧縮効果 - naoyaのはてなダイアリー 通常の整数は 32 ビットは 4 バイトの固定長によるバイナリ符号ですが、小さな数字がたくさん出現し、大きな数字はほとんど出現しないという確率分布のもとでは無駄なビットが目立ちます。 UTF-8です。 UTF-8は、0x0から0x10FFFFまでの整数を、以下のようにしてバイト列に変換します。 Range/Offset0123 0x00-0x7F0xxxxxxx 0x80-0x3FF110xxxxx10xxxxxx 0x400-0xFFFF1110xxxx10xxxxxx10xx

    Variable Byte Code と UTF-8、またはUTF-24が存在しないわけ : 404 Blog Not Found
  • perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found

    2009年06月23日15:30 カテゴリLightweight Languages perl - use CGI; use Encode; # 非英語Webプログラミング3原則 これは、実はPerlに限らず未だに事実だったりするのですが.... Perl でフォームデータから UTF-8語文字をとりだす方法 (プログラミングの小石・大石) UTF-8 のフォームによっておくられたデータのなかから日語文字をとりだすことは,日Perl CGI プログラマならたいてい必要になることである. ところが,その方法は意外に確立されていないようにみえる. しかし、元発言の方法は先祖帰りすぎるので。 Perlプログラマー以外にも、Webプログラマーであれば有用なentryです。 PerlでWebプログラミングする場合の三原則 QueryはCGIモジュールで処理する 文字コードはEncode

    perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found
  • perl - use utf8; #って何だ? : 404 Blog Not Found

    2009年06月15日07:00 カテゴリLightweight Languages perl - use utf8; #って何だ? id:otsuneに建設予定フラグがたてられていたので。 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech Perl の utf8 関係が未だ全く理解できない。わからないことがわからないので整理 use utf8はいつフラグをたてるか use utf8 しててもフラグたたないことがある…… これは、以下の実例を見ていただくのが一番よいだろう。 #!/usr/bin/perl use strict; use warnings; use utf8 (); sub check_flag{ my $str = shift; print qq("$str" ), utf8::is_utf8($str) ? 'is' : 'IS NOT',

    perl - use utf8; #って何だ? : 404 Blog Not Found
    yokochie
    yokochie 2009/06/18
    utf8を落とす/付ける処理はKVSなDBを扱うときに忘れがち
  • perl - で全角半角変換をモダンに行う : 404 Blog Not Found

    2009年06月06日01:15 カテゴリLightweight Languages perl - で全角半角変換をモダンに行う 今ならLingua::JA::Regular::Unicodeが第一選択肢ですが、こういう方法もあるということで。 Perl で半角カナと全角カナの変換をする : Serendip - Webデザイン・プログラミング Perl を使って半角カタカナと全角カタカナの変換をするスクリプトを、標準モジュールの Encode.pm と Unicode::Japanese と Lingua::JA::Regular::Unicode を使ってそれぞれ変換スクリプトを書いてみる。 CORE Moduleのみを使うという縛りをかけています。 #!/usr/bin/perl use 5.008001; use strict; use warnings; use utf8; us

    perl - で全角半角変換をモダンに行う : 404 Blog Not Found
  • perl - use encoding; #は黒歴史 : 404 Blog Not Found

    2009年06月08日14:30 カテゴリLightweight Languages perl - use encoding; #は黒歴史 ぎゃあぁぁ length関数で文字列の長さを求める - perl初心者BLOG - Hatena::Group::Perl語の文字数を正確に求めたい場合、use encodingを指定する use encoding;は、jperlなど、かつて存在したL10Nされたperl用に書かれたレガシースクリプトを、モダンperlで動かすときのためのおまじないです。こういう目的で利用すべきではありません。 このあたりのことは、以前 404 Blog Not Found:perl - no encoding; # whenever possible でも書いたのですが、大事なことなのでまた書きます。 スクリプトはUTF-8で書き、use utf8;する のがモ

    perl - use encoding; #は黒歴史 : 404 Blog Not Found
  • perl - EncodeでXSSを防ぐ : 404 Blog Not Found

    2009年03月03日19:00 カテゴリLightweight Languages perl - EncodeでXSSを防ぐ 良記事。 第7回■文字エンコーディングが生み出すぜい弱性を知る:ITpro だけど、問題点のみ具体例があって、対策にないのが片手落ちに感じられたので、その点を補足。 結論だけ言ってしまえば、Perlなら以下の原則を守るだけです。 404 Blog Not Found:perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これが

    perl - EncodeでXSSを防ぐ : 404 Blog Not Found
  • nanoaでPerlを学習 その3 utf8プラグマ - LAPISLAZULI HILL#diary

    今回はutf8について.詰め込むにも削るにもなかなか大変です.utf8関連という意味ではいろいろ書くことがありますが,ここではプラグマに絞って書きます 表紙/目次 use utf8; utf8というのは文字コードです.コンピュータ上での文字の表し方のひとつです.ブラウザを使っていればshift_jisとかeuc-jpという単語を見ることがあると思いますが,それの仲間です.どれも日語も表現できる方法です というわけでこのuse utf8宣言(これもstrictやwarningsと同じプラグマ宣言です!)は,utf8でソースを書きますよ!という宣言なのです.いつもこんな感じになってしまいますが,この宣言をしておけばソースをutf8をとして扱えるようになるとわかっていれば(とりあえず)読む必要はないかもしれません ファイルをutf8で保存する utf8で日語を表現しますが,ファイルに保存する

    nanoaでPerlを学習 その3 utf8プラグマ - LAPISLAZULI HILL#diary
  • use utf8 環境下で => オペレータの左辺が UTF8 flag on になってしまう - daily dayflower

    use strict; use warnings; sub Dump { @_ = map { sprintf "'%s'(%s)", $_, utf8::is_utf8($_) ? 'utf8' : 'bytes' } @_; print {*STDERR} join(q{, }, @_), "\n"; } no utf8; Dump( foo => 'bar' ); #=> 'foo'(bytes), 'bar'(bytes) no utf8; だもんで,両者とも bytes なのは,まぁあたりまえ。 ところが,これを use utf8; で動かすと…… use utf8; Dump( foo => 'bar' ); #=> 'foo'(utf8), 'bar'(bytes) foo の UTF8 flag が on になってる! use utf8 にしてたので,任意の文字列リテラルが

    use utf8 環境下で => オペレータの左辺が UTF8 flag on になってしまう - daily dayflower
    yokochie
    yokochie 2009/02/04
    UTF8 flagにはまると抜け出すのが大変
  • Lingua::LanguageGuesser はいかにして生まれたのか

    言選Webは東京大学情報基盤センター中川研究室で公開している 専門用語(キーワード)自動抽出サービスです。 このシステムは内部で、専門用語(キーワード)自動抽出Perlモジュール"TermExtract"を活用しています。 特に西欧言語版では英語だけではなく、フランス語、イタリア語などの用語抽出を行うことができます。 しかし、入力テキストがどの言語で書かれているか判定する仕組みをもたず、ユーザがその都度指定する必要がありました。 そこで、入力テキストがどの言語で書かれているか、自動判定する仕組みを新たに考えることになった次第です。 言語判定を行う方式を調べたところ、いくつかの手法があることがわかりました。 N-Gramモデルを用いたテキストの分類器を使う 各言語で頻出する単語や特徴的な単語があるかどうかで判定する アクセス先サイトのURLから国名を得る HTMLのMETAタグの記述を確認す

  • 続:Catalystでマルチバイトを取り扱うときのまとめ - hide-k.net#blog

    以前、Catalystでマルチバイトを取り扱うときのまとめという記事を書いたのですが、情報が少し古いので、最近僕がやっている方法を紹介します。 この記事では Catalyst 5.7015 Catalyst::View::TT 0.27 Catalyst::Plugin::ConfigLoader 0.22 Catalyst::Plugin::FillInForm 0.10 Catalyst::Plugin::Static::Simple 0.20 Catalyst::Plugin::Unicode 0.8 の環境で紹介しています。 また、基的にDBICに関しては以前の記事の通りDBIx::Class::UTF8Columnsを使うという感じです。 まず、こんな感じのアプリケーションを用意します。 MyApp package MyApp; use strict; use warnings

  • perl - Encode 中級 : 404 Blog Not Found

    2008年05月08日04:00 カテゴリLightweight Languages perl - Encode 中級 以前書いた 404 Blog Not Found:perl - Encode 入門 は大好評でしたが、 ウェブで利用される文字コード、UnicodeがASCIIを上回る--グーグルが明らかに:マーケティング - CNET Japan UnicodeがASCIIを追い越し、World Wide Web上で最も多く利用されている文字コード体系になったとGoogleのシニアインターナショナルソフトウェアアーキテクトMark Davis氏がブログで述べている。 という時代に完全対応するには、入門以上の知識がちょっと必要になります。 例えば、blogをホストしてくれているlivedoor blogの文字コードはEUC-JP。「時代はUnicode」だと言っても、こうした事情もまだ

    perl - Encode 中級 : 404 Blog Not Found
  • 404 Blog Not Found:CPAN - HTTP::Response::Encoding Released!

    2007年04月17日22:30 カテゴリLightweight Languages CPAN - HTTP::Response::Encoding Released! HTTP-Response-Encoding を Release したのでお知らせします。 on CPAN (coming soon) http://www.dan.co.jp/~dankogai/cpan/HTTP-Response-Encoding-0.03.tar.gz どういうものかというと、こういうものです。 use LWP::UserAgent; use HTTP::Response::Encoding; my $ua = LWP::UserAgent->new(); my $res = $ua->get("http://www.example.com/"); warn $res->encoding; prin

    404 Blog Not Found:CPAN - HTTP::Response::Encoding Released!
  • Encode::First をリリース: blog.bulknews.net

    Encode::First をリリース Encode::First を CPAN にリリース。ある文字列を最小の character set でエンコードしたいときに使う。使い方は、 use Encode::First; my($enc, $bytes) = encode_first("ascii,latin-1,euc-jp,utf-8", $string); という感じ。Email を送信するときとか、utf-8 を読めないメーラ対策として文がすべて日語なら iso-2022-jp で送る、というのを Gmail とかでもやっているんだけど、それをやりたくてつくった。 で、Traditional なエンコード (us-ascii, latin-1, iso-2022-jp, iso-2022-kr, koi8-ru etc.) を対象にして文字列をエンコードする Encode::E

  • 1