UnicodeとUTF-8の違いは? - Humanityはあんなに反響があるとは思わなかった。 ブコメにコピペじゃなくてまとめを書いてくれれば良い資料になるのにと書いてあったので今度は自分の知識をまとめてみる。 と言っても自分もあのスレを見るまでUnicodeとUTF-8を混同してた一人なのでほとんどあのスレからの知識ですが...orz なので簡単なまとめ。引用を多分に含みます。間違ってたらつっこんでいただけるとうれしいです。 調べる際に弾さんのエントリがかなり参考になったので(今頃意味が分かってきた)関連リンクとして度々載せさせていただきます。 参考リンクじゃない理由は解説しているエントリだけじゃなくて既存のエンコーディングを拡張するといった高度なエントリも含まれているため。 UnicodeとUTF-8 まず一番重要なことは Unicodeは「符号化文字集合(Coded Charact
みなさん、はじめまして。はせがわようすけと申します。 最近、文字コードと関連したセキュリティの話題を目にすることが増えてきました。文字コードを利用した攻撃は技術的に未開拓ということもあり、参考となる情報がなかなか見当たりません。この連載では、文字コードを利用した攻撃やそれに対する対策について正しい知識を解説していきます。 文字コードとセキュリティが関連するもっとも大きな点は、やはり文字列の比較でしょう。「危険な文字列の検出」「安全な文字列であることの確認」といった文字列の比較は、セキュリティを考えるうえで避けて通れない処理だと思います。 文字列の比較においては、単純にバイト列を比較するだけでは不十分で、文字列がメモリ上でどのようなバイト列として格納されているのか(このルールを符号化方式あるいは文字エンコーディングと言います)に注意しなければならないこともあるでしょう。攻撃者は巧みに文字
タイトル長い。っていうかそのまんまです。 #!/usr/bin/perl use strict; use warnings; use URI; my $s = 'http://example.com/?q=%82%e2%82%e9%95v%82%c5%8aw%82%d4'; utf8::upgrade($s); my $uri = URI->new($s); my %qf = $uri->query_form; $qf{flag} = 'ON'; $uri->query_form( %qf ); my $uri_str = $uri->as_string; これ、一見すると$uri_strは http://example.com/?q=%82%e2%82%e9%95v%82%c5%8aw%82%d4&flag=ONになりそうなんですが、実際には http://example.com/?q=
Azuki テキストエディタエンジン はじめに AzukiはC# 2.0で書かれたフリーのテキストエディタエンジンです。 .NET Framework 2.0以上、または.NET Compact Framework 2.0以上で動作します。 主に次のような特徴があります。 .NET Compact Framework で動作する 日本語の単語をちゃんと扱える プロポーショナルフォントに対応 Unicode の全文字を扱える(UTF-16のサロゲートペア、結合文字シーケンス、異字体セレクタにも対応) シンタックスハイライトに対応 行の折り返し表示に対応(禁則処理対応、ピクセル単位) 正規表現を使った検索機能に対応 メニュー Azuki の機能紹介 Azuki の使い方 API リファレンス Azuki のライセンス
今日15日、朝日新聞の字体が変わった。そこで、ざっと見て気付いた点など。 Microsoftの場合、表外漢字字体表が「デザイン差」としている差異であっても、基本的に字体表の例示字形に合わせる方針であると思われる。一方、朝日新聞は、「デザイン差」に該当する部分の変更は行っていないことが多い(下図の上の行は、今日の朝日新聞朝刊から拾った文字。下の行は字体表のグリフを小塚明朝で示したもの)。 ただし、「デザイン差」を直している例も発見(下図)。 下図は、今日の朝日新聞朝刊で見つけた非・印刷標準字体。何か理由があるのか単なるミスなのかは不明。 今回の字体の変更について解説している記事中に「『辻』は表外漢字だが、本社では例外として1点しんにょうのまま」という記述がある。なぜ「辻」だけが例外なのだろう。「『辻』は国字だから康煕字典体は存在しない」というような理屈なのだとは考えにくいが、かといって他の理
「それ Unicode で」などで紹介されている、Unicode の U+202E (RIGHT-TO-LEFT OVERRIDE; RLO)を使って拡張子を偽装された exe ファイルの実行を抑止する方法を思いついた。 メモ帳を開いて、"**"と入力する(前後の引用符は不要)。 "*"と"*"の間にキャレット(カーソル)を移動させる 右クリックで「Unicode 制御文字の挿入」から「RLO Start to right-to-left override」「RLO Start of right-to-left override」を選択 Ctrl-A で全て選択、Ctrl-C でクリップボードにコピー。 ローカルセキュリティポリシーを開く 画面左側の「追加の規則」を右クリック 「新しいパスの規則」を選択 「パス」欄で Ctrl-V をして、メモ帳の内容を貼り付ける。 セキュリティレベルが「
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く