PHPカンファレンス2010テックデイでの講演資料 PDFダウンロードは http://www.hash-c.co.jp/archive/phpconf2010.htmlRead less
![文字コードに起因する脆弱性とその対策](https://cdn-ak-scissors.b.st-hatena.com/image/square/11d28b748fa75bac1d9f1ce1f84b82c44c67fceb/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fphpconf201010-100925030938-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
UnicodeとUTF-8の違いは? - Humanityはあんなに反響があるとは思わなかった。 ブコメにコピペじゃなくてまとめを書いてくれれば良い資料になるのにと書いてあったので今度は自分の知識をまとめてみる。 と言っても自分もあのスレを見るまでUnicodeとUTF-8を混同してた一人なのでほとんどあのスレからの知識ですが...orz なので簡単なまとめ。引用を多分に含みます。間違ってたらつっこんでいただけるとうれしいです。 調べる際に弾さんのエントリがかなり参考になったので(今頃意味が分かってきた)関連リンクとして度々載せさせていただきます。 参考リンクじゃない理由は解説しているエントリだけじゃなくて既存のエンコーディングを拡張するといった高度なエントリも含まれているため。 UnicodeとUTF-8 まず一番重要なことは Unicodeは「符号化文字集合(Coded Charact
DBIx::Encoding でPerlとDB間の文字コード & utf8 flagを透過的に扱う - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめに はじめまして、myfinderといいます。 Casual Trackの記事をupしたときに話が出たので、記事を書いてみたいと思います。 今回ご紹介するモジュールは DBIx::Encoding です。 DBIx::Encodingは非常に小粒なモジュールですが、BKだなと自分でも思っています。 cho45さんの紹介されているモジュールと割と趣が近い気がします。 Casual Trackのxaicronさんの記事にもあるように、いわゆるモダンなPerl開発ではソースコードをUTF-8で記述し「use utf8;」し、文字列は「入力時にdecode、
を、最近やっと知りました。 UTF-8はUnicodeを\xxxxっていう1文字が1~3バイトになる変な形式に形式に変換したもので、unicodeをファイルとかに入出力するときに使われるなんですよ。 ずっとその違いがわからなくて、SQLiteCCでTracのデータ覗いたときに、なんでunicodeなのに文字化けするんだろう???って思ってました。 (SQLiteCCはunicodeではなくutf-8をサポートしており、unicodeでSQLiteに保存した文字はSQLiteCCでは表示できなかった) 文字コードって難しい(~ヘ~;) ちなみに、 Pythonでutf-8をunicodeに変換するには、 text = unicode(text,'utf-8') Shift-jisをunicodeに変換するには、 text = unicode(text,'Shift_JIS') unicode
課題 sys.stdout のエンコードを変更したい!!! 説明 sys.stdout のエンコードの変更は,Python2.6 までは >>> sys.stdout = codecs.getwriter('utf-8')(sys.stdout) >>> print u'ほげ' ほげ ってやります. これを,Python3.0 でやると, >>> sys.stdout = codecs.getwriter('utf-8')(sys.stdout) >>> print('ほげ') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python30\lib\codecs.py", line 356, in write self.stream.write(data) File "C:\P
久々の Python ネタ! (=´ω`=)ノ 1ヶ月ぐらいかけてようやくこの本: 速効!Pythonプログラミングバージョン2.5対応 作者: 上平哲出版社/メーカー: 秀和システム発売日: 2007/04/27メディア: 単行本購入: 1人 クリック: 29回この商品を含むブログ (15件) を見るを読み終えた! 「EUC とか UTF とかのエンコーディング方法をキチンと処理するための Python の正しいお作法ってどうなの?」というのが知りたくてヨドバシの書籍コーナーでいろいろ物色してこの本を選んだのだが、それがとても丁寧にかかれてて良かった。日本語に関してだけじゃなく、全般的に例が多くて丁寧。言語仕様からこういう結果になる、という説明じゃなく、こう書くとこういう理由でこう動く、という事例オリエンテッドな感じで Python 初心者な自分には読みやすかったっす。 っつーことで、以
_既にあたり前になりつつある文字エンコーディングバリデーション 大垣靖男さんの日記「何故かあたり前にならない文字エンコーディングバリデーション」に端を発して、入力データなどの文字エンコーディングの妥当性チェックをどう行うかが議論になっています。チェック自体が必要であることは皆さん同意のようですが、 チェック担当はアプリケーションか、基盤ソフト(言語、フレームワークなど)か 入力・処理・出力のどこでチェックするのか という点で、さまざまな意見が寄せられています。大垣さん自身は、アプリケーションが入力時点でチェックすべきと主張されています。これに対して、いや基盤ソフトでチェックすべきだとか、文字列を「使うとき」にチェックすべきだという意見が出ています。 たとえば、id:ikepyonの日記「[セキュリティ]何故かあたり前にならない文字エンコーディングバリデーション」では、このチェックは基盤ソフ
vimVimでのエンコーディング関係のオプションは次の通り:'encoding'グローバルなオプション。Vimが内部で用いるエンコーディングを指定する。バッファやレジスタやVimスクリプトでの文字列の中身はこのオプションで指定されたエンコーディングが用いられる。また、他のエンコーディング関係のオプションが未設定ならばデフォルトの値としても用いられる。基本的にvimrc以外で変更すべきではない。また、このオプションを変更しても既存のバッファやレジスタやVimスクリプトでの文字列の中身のエンコーディングは変化しない。(なお、ヘルプでは明言されていないがsystem()の結果は常に'encoding'として扱われ、'fileencoding'への変換は行われない。変換を期待する場合は:read!を使う必要がある。このためにvcscommandは一部で不具合が出る。)'fileencoding'バ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く