タグ

encodeに関するyokochieのブックマーク (25)

  • gist:2212589

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    gist:2212589
  • char8_t 欲しい - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    C++0x からは UTF16 の文字列リテラル(u"...")とその型(char16_t)、UTF32 の文字列リテラル(U"...")とその型(char32_t)が入ります。 そして UTF8 の文字列リテラル(u8"...")も入ります。しかし UTF8 を表す型は入りません。u8"..." は char の配列を返します。 ある関数の引数が "..." と u8"..." のどちらで渡されたのかを区別する方法はありません。残念です。 まあ今更入れろなんて言ったところでどうせ無理だと思うので、諦めて何かうまい方法を探しましょうということで、適当に考えてみました。 struct char8_t { // いろいろ実装 }; const char8_t* u8(const char* str) { return reinterpret_cast<const char8_t*>(str);

    char8_t 欲しい - melpon日記 - HaskellもC++もまともに扱えないへたれのページ
  • 「東京Ruby会議05」でUnicode正規化の話を聴いてきた(えっ?) - ただのにっき(2011-02-04)

    ■ 「東京Ruby会議05」でUnicode正規化の話を聴いてきた(えっ?) そういえばRegional RubyKaigiに参加するのは初めてだ。今までは「大RubyKaigiの実行委員がRegionalに参加して(ただでさえ少ない参加枠を狭めるのも)申しわけないなぁ」と思って遠慮していたんだけど、今年は予告通りRubyKaigi2011の実行委員からは外れたので、遠慮するこたぁないのだった。というわけで東京Ruby会議05に参加。 場所は渋谷、ECナビの8Fにある「Ajito」という……なんだろう、そのビルに入っている各社の共同スペースみたいな? 趣向を凝らしたいろんな部屋がある、会議&イベントスペースというか。渋谷にこんな小洒落たフロアを持ってるなんて、ネット企業うらやましい! 冒頭は高橋さんによる「Rubyの楽しさ」に関する講演(台なし、スライドなしの1時間)で、その後、事前に設

  • ICU による文字コード変換ライブラリ - yanoの日記

    C++ で文字コードを変換するプログラムを作成したので紹介します.以下に実装する関数 encode を用いれば std::string, std::wstring 間で文字コードを変換できます. 文字コードの変換には代表的なライブラリとして libiconv と ICU とありますが,主にライセンス上の理由により今回は ICU を用います. ICU による文字コード変換ついては「ICU 2.x : UnicodeString による文字コード変換」に非常に丁寧にまとめられているので,内部の動きについて知りたい方は是非ご覧下さい. それでは以下に私の実装を示します. encode.hpp #ifndef ENCODE_HPP_20100822 #define ENCODE_HPP_20100822 #if defined(_MSC_VER) && (_MSC_VER >= 1020) # p

    ICU による文字コード変換ライブラリ - yanoの日記
  • 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

  • UTF-8の冗長なエンコードとは何で、なんでそれがセキュリティ的に危ないのか?を文字コード知識レヴェル3くらいの凡プログラマが考えてみる - tohokuaikiのチラシの裏

    何故かあたり前にならない文字エンコーディングバリデーション | yohgaki's blog ってあるように、いまいち文字コードの不正な判定による危険性ってのが分かってない。 SJISの問題は、(2/3)SQLインジェクションを根絶!セキュア開発の極意 - 第5回■注目される文字コードのセキュリティ問題:ITproの記事がわかりやすかった。 というか、やっぱりPHP使ってると誰でも一度は「なんじゃこの『¥』は?」って思うもんなんで。 なるほど、確かに↓の図のように「あるバイト」が2つの意味を持つっていう文字コード形態はやばいんだなと。 EUC-JPはそんなことはしないで、1つのバイトには1つの意味しか取らせない。 だけど、これでも文字化けが起こることがある。経験的には、「マルチバイトをXX文字で切り落としたい」とかやった場合。ちゃんと文字コードを判定してくれるPHPでいえばmb_subst

    yokochie
    yokochie 2009/09/11
    『PHPerを買いかぶらないでもらいたい』
  • 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
  • そろそろUnicodeについて一言いっておくか - 未来のいつか/hyoshiokの日記

    文字コードの標準化について日記を書いたのだが、内容がいまいちだったのでボツにして気を取り直してUnicodeについて一言いっておくことにする。先日、といっても昨年(2008年)の10月なんだけど、その中でちょと文字コードの標準化について話をしている。*1 もう1つ自分の経験としてあるのが、漢字の文字コードがあるんですけど、番号で言うとJIS X 0208とか0212とか規格の番号で皆言うわけなんですけど、実は1988年にその日語の文字コードの改正の委員会にいたんですね。 その当時、私は 30歳ぐらいなんですけど、「富士通」とか「日立」とか「NEC」の部長さんぐらいの偉い人たちが来てて、私なんか外資系で且つ30前後のぺーぺーだから、全然格下なんですよ。 そういうところで議論の主軸を担ってるのは、「富士通」「日立」「NEC」「日IBM」「東芝」「沖」、外資でいえば「ユニシス」とかの錚々たる

    そろそろUnicodeについて一言いっておくか - 未来のいつか/hyoshiokの日記
  • 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タグの記述を確認す