タグ

unicodeに関するhide-Kのブックマーク (20)

  • 第7回 Unicodeからの多対一の変換[前編] | gihyo.jp

    文字コードが引き起こすセキュリティ上の問題として、もっとも興味深いもののひとつである、Unicodeから他の文字コードへの「多対一の変換」で引き起こされる問題点について、今回と次回で説明します。 ご存じのとおり、Unicodeには非常に多数の文字が収録されていますが(現在最新版のUnicode 5.1.0では100,713文字が収録されているそうです⁠)⁠、Unicodeから他の文字コードへの変換においては、互換性や可読性の維持のためか、複数のUnicodeの文字が他の文字コードでは単一の文字に変換されることがあります。 この「多対一」の変換が、開発者も想定していなかったような問題を引き起こす原因となることが多々あります。 具体的な例として、Windows上でのUnicodeからの変換について説明します。 Windows上でのUnicodeからShift_JISへの変換 Windows上で

    第7回 Unicodeからの多対一の変換[前編] | gihyo.jp
  • 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
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • javascript - でも全角半角変換 : 404 Blog Not Found

    2009年06月06日15:30 カテゴリLightweight Languages javascript - でも全角半角変換 ぐぐっても、変換コードがありそうでなかったのでついでに。 404 Blog Not Found:perl - で全角半角変換をモダンに行う Demo 全角 半角 実装 見ての通り、けれんみのないやり方をしています。 (function(){ var zenkaku = ['。', '、', '「', '」', '・', 'ー', 'ァ', 'ア', 'ィ', 'イ', 'ゥ', 'ウ', 'ェ', 'エ', 'ォ', 'オ', 'カ', 'ガ', 'キ', 'ギ', 'ク', 'グ', 'ケ', 'ゲ', 'コ', 'ゴ', 'サ', 'ザ', 'シ', 'ジ', 'ス', 'ズ', 'セ', 'ゼ', 'ソ', 'ゾ', 'タ', 'ダ', 'チ', 'ヂ',

    javascript - でも全角半角変換 : 404 Blog Not Found
  • 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
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp

    みなさん、はじめまして。はせがわようすけと申します。 最近、文字コードと関連したセキュリティの話題を目にすることが増えてきました。文字コードを利用した攻撃は技術的に未開拓ということもあり、参考となる情報がなかなか見当たりません。この連載では、文字コードを利用した攻撃やそれに対する対策について正しい知識を解説していきます。 文字コードとセキュリティが関連するもっとも大きな点は、やはり文字列の比較でしょう。「⁠危険な文字列の検出」「⁠安全な文字列であることの確認」といった文字列の比較は、セキュリティを考えるうえで避けて通れない処理だと思います。 文字列の比較においては、単純にバイト列を比較するだけでは不十分で、文字列がメモリ上でどのようなバイト列として格納されているのか(このルールを符号化方式あるいは文字エンコーディングと言います)に注意しなければならないこともあるでしょう。攻撃者は巧みに文字

    第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp
  • Perl5.8 の UNICODE 対応

    perl は 5.8 から Unicode(utf-8) がサポートされました.5.6 でも Unicode に対応はしていましたが,ぜんぜん使い物にならず,ようやく 5.8 でまともに使えるようになったということです.ただせっかく使えるにもかか わらず perldoc などを見てもイマイチ使い方がわからないので,独自にまと めてみたのがこのページです. 誤った書き方や勘違いをしてい ることもあるので,形式的ですがこのページの内容は無保証です. 内容 文字コード変換 perlIO jperlからの移行 UTF-8フラグ 文字コード自動判別 Unicode Standard Unicode 正規化 その他 参考資料 文字コード変換 とりあえず perl5.8 で新しく組み込まれた機能を見るために,euc-jp から shift_jis への変換スクリプトをいくつか載せます. openを利用し

    hide-K
    hide-K 2009/02/17
    InHiraganaとHiraganaはInHiragana使っておいた方が無難
  • mysql_enable_utf8 => 1 で DBIC::UTF8Columns 要らなくなるっぽい - 僕ト云フ事@はてな出張版

    追記です コメントとブクマで今のところ experimental と書いてあるよ! と教えてもらいました。気づいてなかったです。id:nihen さん、コメントくれた人、ありがとう。 This option is experimental and may change in future versions. Catalyst::Wiki もこれ書いた方が良さそうですね。書けるのかな。 それにしても、DBD 側でできると良いに越したことないので、早く確定して欲しいですね! 追記2 あー、でもこれ、4.00からずっとこのままだ。かれこれ2年くらい experimental なんですがw Catalyst::Wiki に書いて来ちゃったけどw ここから元の内容 lyokato さん経由で woremacx さんに教えてもらった Using Unicode - Catalyst::Wiki に書い

    mysql_enable_utf8 => 1 で DBIC::UTF8Columns 要らなくなるっぽい - 僕ト云フ事@はてな出張版
    hide-K
    hide-K 2009/02/03
    mysql_enable_utf8=1 知らなかった
  • Using Unicode - Catalyst::Wiki

    Prior to version 5.90040 it was required that you load the Catalyst::Plugin::Unicode::Encoding plugin to ensure proper decoding/encoding of incoming request parameters and the outgoing body response respectively. This is done in your MyApp.pm: use Catalyst qw/ -Debug ConfigLoader Unicode::Encoding /; Since that version the Unicode support was added to core by shipping the plugin with Catalyst and

    hide-K
    hide-K 2009/02/03
    TTのUNICODEとDBD::mysqlのmysql_enable_utf8知らなかった
  • 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
    hide-K
    hide-K 2009/01/31
    URI::query_form()ではまりそうなので注意しれ
  • ZERO WIDTH SPACE を使って Unicode ステガノグラフィ - kazuhoのメモ置き場

    inspired by Yappo id:T​​​​​​K​​​​​S​​​​​​K​​​ かっこいい 上のテキスト、一見 id:TKSK を褒めているいるようですが、実は別の人をほめています。下線のリンクが無いでしょ? ちなみに、以下の perl スクリプトを通すと、誰をほめているのかわかります。 perl -Mutf8 -MEncode -we 'undef $/; $s = decode_utf8(<STDIN>); $s =~ s!([\x{200b}|\x{feff}]+)!pack("B*", join("", map { $_ eq "\x{200b}" ? 0 : 1 } split("", $1)))!eg; print encode_utf8($s)'この隠しデータを作るには、以下のようにします。 echo "you can see here (

    ZERO WIDTH SPACE を使って Unicode ステガノグラフィ - kazuhoのメモ置き場
    hide-K
    hide-K 2008/08/28
    SUGEE
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Journal of miyagawa (1653) - Three levels of Perl/Unicode understanding

    (Editorial: Don't frontpage this post, editors. I write it down here to summarize my thought, wanting to get feedbacks from my trusted readers and NOT flame wars or another giant thread of utf-8 flag woes)I can finally say I fully grok Unicode, UTF-8 flag and all that stuff in Perl just lately. Here are some analysis of how perl programmers understand Unicode and UTF-8 flag stuff.(This post might

  • UTF8 フラグあれこれ - daily dayflower

    UTF8 フラグについてわかってるつもりだったんですが,utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech を読んで混乱したので,自分なりにまとめてみました。間違いがありましたらご指摘よろしく。 まとめ スカラー変数の内部表象の状態を示すものとして UTF8 フラグというものがある スカラー変数は(リファレンス等は別として)下記のものを格納できる (A) 文字列(内部表象: UTF-8) (B) 文字列(内部表象: ISO-8859-1) (C) バイナリ列 純粋なバイナリストリーム(画像ファイル等)かもしれないし, UTF-8 octet stream かもしれないし, CP932 octet stream かもしれないし,etc, etc ... Perl は(後方互換性確保などの理由から)ISO-8859-1

    UTF8 フラグあれこれ - daily dayflower
  • utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech

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

    utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech
  • 404 Blog Not Found:perl - utf8::is_utf8("\x{ff}") == 0

    2008年02月18日10:00 カテゴリLightweight Languages perl - utf8::is_utf8("\x{ff}") == 0 ちょうどいい機会なので、Perl 5.8以降におけるutf8フラグの立ち方を。 unknownplace.org - 2008/02/17 - utf8::is_utf8 ということで、"\x{6751}\x{702c}\x{5927}\x{8f14}" などというData::Dumper表記でかならずしも utf-8フラグがたつわけじゃない。ということがいいたかったんだと思うのだけれど、 \x{UUUUUU}とutf8 flag まずはクイズです。以下がどう出力されるかを答えなさい。 sub pfrag{ print utf8::is_utf8($_[0]) ? 1 : 0, "\n" } pfrag "Hell\xC3, worl

    404 Blog Not Found:perl - utf8::is_utf8("\x{ff}") == 0
  • Perl で Unicode Character について触る - daily dayflower

    Python の unicodedata モジュール - bkブログ を読んで,それ Perl だとどうよと思ったんで対応をまとめてみました。utf8 flag や Encode モジュールについては特に解説しませんので。 文字の名前を取得する charnames モジュール(Perl 5.6 より付属)の viacode 関数を使うと文字の名前を取得することができます。引数として文字列ではなく文字コードを渡すところが要注意です。 use utf8; use charnames qw( :full ); print charnames::viacode(ord 'A')), "\n"; # 'LATIN CAPITAL LETTER A' print charnames::viacode(ord 'あ')), "\n"; # 'HIRAGANA LETTER A' 文字列リテラルとして標準

    Perl で Unicode Character について触る - daily dayflower
  • DBIx::Class経由で取得する文字列にUTF-8 flagを付けたい[Catalyst] - ヒルズで働く@robarioの技ログ

    以前からブログに書こうかどうか迷っていたものです。 DBIx::Class::UTF8Columnsでできるんですが、カラムを指定するのが面倒。 MySchemaはDBIx::Class::Schema::Loaderで自動生成してることもあって、あんまりMySchema/*をいじりたくない。 というわけで、inflate/deflate(DBIx::Class::InflateColumn)でやってます。 もっと簡単な方法あるんじゃないかなあ、と思って改めてCPANを探してみたのですがしっくりくるものが見当たらず。 とりあえず晒しておきます。 package MyApp::Model::MyModel; use base qw(Catalyst::Model::DBIC::Schema); my $inflate_utf8 = sub { my $value = shift; if (

    DBIx::Class経由で取得する文字列にUTF-8 flagを付けたい[Catalyst] - ヒルズで働く@robarioの技ログ
  • Perl 5.8.x Unicode 関連

  • 1