タグ

encodeに関するlesamoureusesのブックマーク (41)

  • Perl UTF-8 crash course

    I’ve been seeing the occurrences of perl programmers not understanding perl’s very simple (and sometimes buggy but easily fixable) handling of Unicode strings. I confess I had the same misunderstanding until 6–7 years ago, and don’t want everyone to repeat the same mistake. Let’s forget what you know for 5 minutes, and take this simple course. 1. print($a, $b) and print($a . $b); Let’s forget, for

  • 情報セキュリティ技術動向調査(2009 年下期):IPA 独立行政法人 情報処理推進機構

    Web において使われる URI(URL)には様々な情報が埋め込まれるが、その埋め込みの際にはエスケープ(パーセントエンコード)が行われる。埋め込まれた情報は取り出されるときにアンエスケープ(パーセントデコード)される。 たとえば、四則演算を行う電卓の Web アプリケーションを考える。この電卓は HTML の form でユーザに式の入力を求め、式が入力されてサーバに送られたらその結果を表示する。ここで、式は "http://calc.example.org?q=式" というような URI にブラウザがアクセスすることによって、サーバに送られるものとする。この形式は HTML の form で用いられる application/x-www-form-urlencoded という形式であり、HTML の規格で定義される。この場合、"1+1" という式を URI に埋め込むには "+" とい

    lesamoureuses
    lesamoureuses 2012/02/11
    >decodeURIComponent は問題なく使える関数である。encodeURIComponent は RFC の変化に追随していないため、用途によっては問題が生じうる。encodeURI と decodeURI は使わない方がよい
  • Perlゼミ(サンプルコードPerl入門)

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

  • 文字コード(UTF-8,Shift_JIS,EUC-JP,ISO-2022-JP)についての俺的まとめ - 今日もスミマセン。

    「プログラマのための文字コード技術入門」を読んで自分なりに理解した点をザックリとまとめてみる。 それほど正確性を求めて書いているわけではないので、間違ってる可能性大です。 間違いなどあればコメントなど頂けるとありがたいです。 それぞれの文字コードはどう違うのか? 日語の文字コードは大きく以下の2つに分けられる JIS X 0208 文字集合をベースにしたもの Unicode文字集合をベースにしたもの JIS X 0208 文字集合をベースにした文字コードには、EUC-JP, Shift_JIS, ISO-2022-JP がある。 Unicode文字集合をベースにした文字コードには、UTF-8, UTF-16 などがある。 上で挙げた「文字コード」とは正確には「エンコーディング(文字符号化方式)」の事を指す。 文字符号化方式 文字集合って? 読んでそのまんま”文字の種類の集まり”。「キャラ

    文字コード(UTF-8,Shift_JIS,EUC-JP,ISO-2022-JP)についての俺的まとめ - 今日もスミマセン。
    lesamoureuses
    lesamoureuses 2010/07/12
    Shift_JIS,EUC-JP,ISO-2022-JP,UTF-8,UTF-16などの文字コードがどのように作られてるか
  • WindowsのUTF-16出力で文字化けが発生する - Perl

    多くの方がWindows上でPerlを使うさいにActivePerlを使用していると思います。私もその一人ですがちょっと前大きな問題に直面しました。 「UTF-16出力すると文字化けが発生する!」 そうなんです。過去の記事で日語の扱いについて紹介しました。じつは、あれらの設定でMac OS X 等で処理しているぶんには問題ないのですがWindows上でActivePerlを使って出力すると特定の文字が化けてしまいます。 特定の文字というのは「上」等の文字コードの中に「0A」なんていうバイナリーデータを含んでいる文字です。 use utf8; binmode STDOUT, ":encoding(cp932)"; binmode STDERR, ":encoding(cp932)"; binmode STDIN, ":encoding(cp932)"; #-書込先ファイルの文字コードを指定

    lesamoureuses
    lesamoureuses 2010/05/21
    utf16でファイルを作るときに文字化けする対処。">:raw:encoding(UTF-16LE):crlf:utf8" http://blogs.msdn.com/brettsh/archive/2006/06/07/620986.aspx
  • piconv -f from_encoding -t to_encoding : 404 Blog Not Found

    2004年11月30日23:39 カテゴリ一日一行野郎 piconv -f from_encoding -t to_encoding Perl 5.8 以降がある環境であれば、上記の方法で文字コード変換が可能だ。例えば、foo.sjisをShift_JIS をUTF-8にしたいなら、 piconv -f sjis -t utf8 foo.sjis とすればいい。詳しい使い方は piconv -h で参照可能だ。実は私が書いたこのPerl Script、Encodeのテスト用に書いたものだったが、好評につきPerlの標準インストール時に一緒にインストールされるようになったものだ。 使い方はiconv(1)とほぼ同じだが、元がPerl ScriptでかつEncodeの機能を使っているだけあってその分豊富だ。例えば piconv -f sjis -t ascii -p とやってみよう。 「一日一

    piconv -f from_encoding -t to_encoding : 404 Blog Not Found
    lesamoureuses
    lesamoureuses 2010/04/10
    いつも忘れて読み返すので。
  • 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を速く使う方法
    lesamoureuses
    lesamoureuses 2010/04/10
    find_encodingの使い方を時々忘れるので>$enc->encode($str);
  • Cocoa(iPhone)で、日本語を含むURLを開く方法

    的にはCore FoundationのC関数を利用する CFURLCreateStringByAddingPercentEscapes() ただし、一部問題のあるケースがある URL中に&を含む場合などは正しく作れないので別の方法が必要 プログラマをやっていると、だんだんと日語が嫌いになってきます。 いや、嫌いというのはおかしいのですが、とにかく英語以外の言語はトラブルが多いです。 コンピューターというのはつくづく英語を処理するためだけに作られているのだと思います。 (だからこそ、プログラムの「国際化」で飯をえる人がいる訳ですけど!) すみません、前置きが愚痴っぽくなってしまいました。 iPhoneプログラミングにおいてももちろん、日語を使う際に罠があります。 たとえばNSURLRequestなどがそうです。 日語の含まれるURLを開こうとすると、うまく解釈してくれないんです。

    Cocoa(iPhone)で、日本語を含むURLを開く方法
    lesamoureuses
    lesamoureuses 2010/03/17
    javascriptのencodeURIComponent相当の話>CFURLCreateStringByAddingPercentEscapes(NULL, string, NULL, CFSTR (";,/?:@&=+$#"), kCFStringEncodingUTF8);
  • #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found

    2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を] Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

    #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found
    lesamoureuses
    lesamoureuses 2009/10/22
    知らなかった。コピーするだけなんだ。>すでに UTF-8 flag がついた文字列はそのままコピーするだけ>utf8::decode()は、定数文字列、すなわちソース内の文字列に限って利用すべきでしょう。外部入力はEncodeに振りましょう。
  • 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
    lesamoureuses
    lesamoureuses 2009/08/25
    googleとかのパラメータでずっとうざいと思ってましたが理由があったのか>文字コードを固定できない場合は、QueryまたはPATH-INFOに文字コード情報を含める
  • subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes

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

    subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes
    lesamoureuses
    lesamoureuses 2009/08/11
    >方針としては 127-255 なlatin-1レンジの文字列のutf-8 bytes表現をつくり ($re_bit)、受け取った文字列にマッチさせ、utf-8 としてデコードしてコードポイントにして latin-1 にエンコードする
  • BIGLOBEなんでも相談室サービス終了のお知らせ

    lesamoureuses
    lesamoureuses 2009/08/04
    サンプルがわかりやすい。UTF-8バイト列はutf8フラグが立ってない(内部データになってない)文字列
  • 携帯の文字コードと絵文字の基礎知識 Mobile/Encoding - CodeRepos::Share - Trac

    携帯の文字コードと絵文字の基礎知識 説明 これは日の携帯電話の文字コードと絵文字まわりの仕様をまとめた資料です。Encode::JP::Mobile の開発の中で作成されました。 記述に関してはできるだけ公式資料の URL を併記していますので合わせて参照してください。公式資料に言及されていない内容については [unofficial] を併記してあります。 修正・追記歓迎です。 DoCoMo 絵文字リスト: 基 http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/basic/index.html 拡張 http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/extention/index.html DoCoMo Web 表示できる c

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • 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
    lesamoureuses
    lesamoureuses 2009/06/15
    encode/decodeの覚え方とコレが勉強になった>dankogaiは全てASCII領域にあるため、立てた場合も立てない場合も文字列処理の結果が同じになるからだ。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    lesamoureuses
    lesamoureuses 2009/06/15
    いつもやってる>いつも適当にどっちかやって is_utf8 ダンプするハメになる。
  • 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
    lesamoureuses
    lesamoureuses 2009/06/09
    いつもエンコードはわからなくなるのでブクマ
  • 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!
  • tips - "%E5%BC%BE" を「弾」にするには? : 404 Blog Not Found

    2009年05月01日14:00 カテゴリTipsLightweight Languages tips - "%E5%BC%BE" を「弾」にするには? これ、昨今では最もよく再発明されている車輪の一つかも。 検索サイトなどのURL中に含まれる「%+16進」の形にエンコードされた日語文字列(例えばI%E3%82%B7%E3%83%A1%E3%82%B8I)を、LinuxのCUI上でデコードする簡単な方法は.. - 人力検索はてな 最古の文字コード変換プログラムの一つであるnkfが対応していたとは知らなかった。 JavaScriptで decodeURIComponent()を使えばOKです。以下、例。 Decoded: Encoded: <dl> <dt>Decoded:</dt> <dd><input id="uri.decoded" type="text" size="64" val

    tips - "%E5%BC%BE" を「弾」にするには? : 404 Blog Not Found
    lesamoureuses
    lesamoureuses 2009/05/26
    正規表現なら>$str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/chr hex $1/eg;
  • Unicodeエスケープ - sawatのブログ

    付箋紙Greasemonkeyで、GM_setValueに登録した日語の文字化け対策にencodeURIをつかったけど、encodeURIはURIをエンコードするための関数なのであんまり褒められた使い方ではないですね。しかも、encodeURIのようなURLエンコーディングは文字列をUTF-8にしてから、エンコード対象の各バイトを%xx形式*1で表現するので、日語1文字をあらわすのにたいていの場合ASCII9文字が必要になって効率が悪いです。*2 なので、前述のような単に非ASCII文字をエスケープしたいだけのようなケースではUnicodeエスケープを使った方がよいです。Javaのpropertiesとかnative2asciiとかのやつです。 Unicodeエスケープは\uxxxx*3の形式であらわすので、たいていの日語1文字はASCII6文字になって、URLエンコーディングに比べ

    Unicodeエスケープ - sawatのブログ