タグ

PerlとEncodeに関するseamlessbiasのブックマーク (12)

  • 第33回 enc2xs:標準の文字コード表にはない文字を変換する | gihyo.jp

    Encodeを使っても文字化けするとき Encodeは特定のエンコーディングにしたがって配列されたバイナリを「文字列」に置き換えるためのモジュールですが、かならずしもすべてのエンコーディングがあらゆるバイナリの組み合わせに対応しているわけではありません。 たとえば、「⁠シフトJIS」環境における機種依存文字の例としてよく取り上げられる丸付き数字をEncodeのお作法通りにdecode、encodeする場合、「⁠シフトJIS」だからと思って安易にshiftjis系列のエンコーディングでdecodeしてしまうと、丸付き数字のマッピングデータがないため「?@」のように文字化けを起こしてしまいます。 use strict; use warnings; use Encode; my $binary = pack('C*', 0x87, 0x40); # ①; my $string = decode(

    第33回 enc2xs:標準の文字コード表にはない文字を変換する | gihyo.jp
  • 第32回 Encode:日本語だけ扱えればよいのではなく | gihyo.jp

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

    第32回 Encode:日本語だけ扱えればよいのではなく | gihyo.jp
  • 第31回 encoding:いつまでもjperlから抜け出せない方に | gihyo.jp

    いまさら使う人はいないと思っていますが かつて、jperlと呼ばれるものがありました。これは当時まだシングルバイト文字にしか対応していなかったPerl体にパッチをあてて日語(など)の2バイト文字をより直感的に扱えるようにしたもので、いまとなっては史料的価値しかありませんが、1990年代にはそれなりに重宝されていましたから、筆者を含めて、お世話になったことのある方も少なからずいることでしょう。 jperlはその後、ライブラリレベルで日語対応できるようにしたjcode.pl(1992年)や、その流れをくむJcode.pm(1999年)を経て、2000年にリリースされたPerl 5.6からは家のほうでUnicode対応が始まったことで、その歴史的役割を終え、開発も事実上終了したのですが、困ったことに、それから10年がたったいまなお、jperlを求めたり、勧めたりする動きはやまないようです

    第31回 encoding:いつまでもjperlから抜け出せない方に | gihyo.jp
  • Client Challenge

    A required part of this site couldn’t load. This may be due to a browser extension, network issues, or browser settings. Please check your connection, disable any ad blockers, or try using a different browser.

    seamlessbias
    seamlessbias 2008/05/17
    Encode/Decode Values In A Structure
  • 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
  • perl - EncodeをCodeReposに : 404 Blog Not Found

    2007年11月18日20:00 カテゴリLightweight LanguagesOpen Source perl - EncodeをCodeReposに Perl 5.10もRC1が出たので、次のEncodeのReleaseに備えて、EncodeをCodeReposに上げておきましたのでお報せします。 今までも何度かせっかく送ってもらったpatchを見逃してしまったりといったこともありますし、CodeReposには日を代表するPerl Mongersが集っているので、公開開発の場所としては最適かと思われます。 今後は、 CodeRepos CPAN の順でReleaseしていく所存ですので、みなさまよろしくお願いします。 Dan the Encode Maintainer 「Lightweight Languages」カテゴリの最新記事

    perl - EncodeをCodeReposに : 404 Blog Not Found
    seamlessbias
    seamlessbias 2007/11/18
    思い切ったなぁ。CodeReposすごいことになってる。
  • 404 Blog Not Found:perl tips - Encodeを速く使う方法

    2007年04月23日01:30 カテゴリLightweight LanguagesTips perl tips - Encodeを速く使う方法 はっきり言ってこれはフェアではない。 みかログ: ErlangとPerlの速度比較 Perl側は,Encodeが遅い. Encode::from_toがinplaceでコンバートしてしまうために,直前に文字列コピーがあるのも影響しているのかも なぜなら、Encode::from_to()は速度ではなく、安全性に最適化しているから。 そもそもはじめからUTF-8、それもutf8フラグがたっている文字列にfrom_toを使うのはばかげている。 for(my $i = 0; $i < 0xffff; $i++) { my $str2 = $str; Encode::from_to($str2, "UTF-8", "Shift_JIS"); } は単に

    404 Blog Not Found:perl tips - Encodeを速く使う方法
  • Client Challenge

    seamlessbias
    seamlessbias 2007/01/20
    JavaScript unicode character encoding
  • Client Challenge

    A required part of this site couldn’t load. This may be due to a browser extension, network issues, or browser settings. Please check your connection, disable any ad blockers, or try using a different browser.

    seamlessbias
    seamlessbias 2006/11/24
    本当はこれ読んでいて当然ってくらいなんだけどね。
  • Win32にEncode::Detectを入れる(2) - Charsbar::Note

    以前のエントリは手作業が多くてややこしかったので、もう少し自動化。Win32::InternetShortcutがAPIの都合でXSからの変換を明示的にC++にしないとVCでインストールできなかったので、あれこれ調べた成果ともいう。 1) CPANからtarballを落として解凍 これは前回と同じ。http://search.cpan.org/dist/Encode-Detect/ 2) VC98の人はDetector.xsを編集 最新版の人はいらないそうですが、Detector.xsの冒頭にある extern "C" { と対応する } を削除。 extern "C" { #define PERL_NO_GET_CONTEXT /* we want efficiency */ #include "EXTERN.h" #include "perl.h" #include "XSUB.h"

    Win32にEncode::Detectを入れる(2) - Charsbar::Note
    seamlessbias
    seamlessbias 2006/06/22
    charsetの推測。
  • Client Challenge

    seamlessbias
    seamlessbias 2006/05/25
    Like encoding, but affecting only STDIO, or only source.
  • Win32にEncode::Detectを入れる - Charsbar::Note

    このエントリのフォロー記事が http://d.hatena.ne.jp/charsbar/20060622/1150903898 にあります。 先日Plaggerの推奨モジュールとなったEncode::Detect。 This module provides an interface to Mozilla's universal charset detector, which detects the charset used to encode data. とのことで、多少のクセはあるものの判定精度はなかなかよろしいらしいのですが、なにせCPAN Testersのうち無事にインストール成功したのはたったの3人。Linuxユーザ含めて11人が失敗していて、バグレポートもあがっているのに半年近く更新されていないのですから個人的にはあまり使う気にならんのだよなあと、思いつつも、やっぱり気にはな

    Win32にEncode::Detectを入れる - Charsbar::Note
  • 1