タグ

unicodeに関するshimookaのブックマーク (25)

  • ゼロ幅文字にエンコードした隠し情報で、文書をリークしたメンバーを特定 | 秋元@サイボウズラボ・プログラマー・ブログ

    とある会員制掲示板からの文書の流出に困った運営者が、ユニコードの見えない文字「ゼロ幅文字(Zero-Width characters)」を使って流出させたユーザーを特定した、という話が出ていました。 数年前の話、Tom さんが所属していた競技ビデオゲームのチームでは、ログインが必要なプライベートの掲示板を使って連絡していました。その掲示板に書かれた秘密情報や戦術に関する重大アナウンスなどがしばしば掲示板外のウェブにコピペされ、チームにとって大きな問題となっていたそうです。 外部ユーザーの攻撃で中身が漏れたというよりは、メンバーの誰かがコピーしているのでは、と考えた Tom さんは、当時気になっていたユニコードのゼロ幅文字を使ったトリックを仕掛けたそうです。 ユーザーを特定する情報を、見えない文字に変換して埋め込む ログイン中のログインユーザーのユーザーIDを、一定のルールによってゼロ幅文字

    ゼロ幅文字にエンコードした隠し情報で、文書をリークしたメンバーを特定 | 秋元@サイボウズラボ・プログラマー・ブログ
  • 絵文字がある種のUnicodeバグを世界から一掃しつつある件について|Rui Ueyama

    UnicodeのUTF-16エンコーディングではほとんどの文字(コードポイント)は2バイトで表現されるが、Unicodeに後から追加収録された文字の多くは4バイトで表現される。4バイト文字がうまく扱えないプログラムというのはわりとよくある。しかし世界中で広く使われるようになった絵文字がよりによって4バイト文字であるせいで、そのような文字が扱えない問題がよいペースで解決に向かいつつある。それについて少し説明してみようと思う。 Unicodeが80年代から90年代初頭にかけてデザインされたときの目標の一つは、Unicodeに含まれる文字数を65536個以内に収めることだった。現代の文章を実用的なレベルで表すためには、漢字などを含めてもそれだけの種類の文字があれば十分だと考えられたのだ。当然これは1文字を2バイトで表すことを念頭に置いていた。つまりコンピュータの揺籃期から当時に至るまで単純に英語

    絵文字がある種のUnicodeバグを世界から一掃しつつある件について|Rui Ueyama
    shimooka
    shimooka 2017/11/13
    面白い副作用
  • 🍣=🍺 - とみたまさひろ - Rabbit Slide Show

    Page: 1 🍣=🍺 とみたまさひろ MyNA会 2015/04/22 🍣=🍺 Powered by Rabbit 2.1.6 Page: 2 自己紹介 とみた まさひろ http://tmtms.hatenablog.com http://twitter.com/tmtms https://github.com/tmtm MySQL 3.21 に日語charsetを追加 MySQLRubyバインディング作成 🍣=🍺 Powered by Rabbit 2.1.6

    🍣=🍺 - とみたまさひろ - Rabbit Slide Show
  • UTF-8-MAC - MacWiki

    UTF-8-MAC とは[編集] UTF-8-MAC とは、Mac OS X に付属する iconv にて利用できる文字エンコードの一つで、 Normalization Form D (NFD) で符号化した UTF-8 のことを指します。 一般に UTF-8 とだけいった場合には、Normalization Form C (NFC) でエンコードされたものを意味します。 Unicode 標準では、NFC は正規結合(Canonical Composition)、 NFD は正規分解(Canonical Decomposition)として規定されています。 たとえば、「が」の字を NFC で表現すると U+304C (HIRAGANA LETTER GA) ですが、 NFD では U+304B U+3099 (HIRAGANA LETTER KA + COMBINING KATAKANA-

    shimooka
    shimooka 2012/03/22
    NFDとNFC
  • 初代ポケモンの文字コード - しろもじメモランダム

    初代ポケモン(要するに赤・緑)の文字コードの解説ページを読んだので紹介。 文字コードリスト(ポケモン版) これを読めばわかるが、外で一般に使うJISだの Unicode だのとは違い、まさにポケモン専用の文字コードになっている。8ビットコードのようだ。 [改行] や [改ページ] といった制御コードが入っているのはもちろんのこと、「わざマシン」や「ロケットだん」のような単語にコードが割り振られていたり、さらには [主人公の名前] や [(戦闘時に)行動しているポケモン] を表すコードまである。 (半)濁音は合成用の(半)濁点を表すコードを利用する(つまり(半)濁音単独のコードはない)のかと思っていたが、そうではないようだ。0x00–0x4F の範囲のうち、制御コードがない符号位置は(半)濁音ですべて埋まっている*1。ただし、(半)濁音が1コードで表されるといっても一度の処理で表示できるわけ

    初代ポケモンの文字コード - しろもじメモランダム
    shimooka
    shimooka 2011/08/13
    へー
  • Twitterで見かけるハミ出した顔文字の正体 - RyoAnna

    少し前からTwitterで見かけるようになった、上下に飛び出す変な顔文字。 気持ち悪いのであまり関わらないようにしていたのだが、この顔文字の謎が明らかになったのでお伝えしたい。 いつものようにiPhoneのApp Storeをぶらぶらしていた時のこと。 Unicoder Lite (App Store)というアプリが気になりダウンロードした。 起動するとなにやら見慣れた文字が。 顔文字でよく使われるギリシャ文字やキリル文字だ。 しばらく眺めているとこんな符号が。 合成用区分符号 これが上と下の行にはみ出す顔文字の正体だった。 ためしに作ってみよう。 ベースとなる顔文字を置く。 左目に合成用区分符号を入れる。 続いて右目に。 見事にはみ出す。 Unicode(ユニコード)とは、世界中のコンピュータの文字を符号化したもの。その "U+0300-036F" に配置されているダイアクリティカルマー

    Twitterで見かけるハミ出した顔文字の正体 - RyoAnna
  • それ Unicode で

    UTF-7 を使ってスクリプトを記述 +ADw-SCRIPT+AD4-alert(\'XSS\');+ADw-+AC8-SCRIPT+AD4- IE は、文字エンコーディングが不明で UTF-7 っぽい文字列があれば、自動判別で UTF-7 となる。

  • 「Unicode 6.0」が策定、絵文字が国際標準に

    shimooka
    shimooka 2010/10/14
    今後もメンテされていくんだろうか。。。
  • PHP6開発 UTF-16化を断念、5.3へロールバック | エンタープライズ | マイコミジャーナル

    PHP: Hypertext Preprocessor PHPの次期メジャーバージョンはPHP6になるとみられてきたが、問題を打破するために開発ブランチを5.3ベースへ巻き戻すという対処が実施された。Rasmus Lerdorf氏がphp.internals: PHP 6においてPHP6 Unicodeの実装が失敗したことを伝えている。PHP6ではエンジン内部の処理がUTF-16に統一される計画になっていたものの、関係者からはこの方針は間違っているのではないかという指摘もあった。今回実装が行き詰まったことで、PHPはUnicodeに対して新しいアプローチをとることになる。 このあたりの事情がFuture of PHP 6 - Johannes Schluterにまとまっている。紹介されている内容をまとめると次のとおり。 これまでの取り組み PHP6で取り組む基的な内容として、PHPエンジ

    shimooka
    shimooka 2010/03/17
    えー
  • port install subversion+unicode_path

    git-svn を試してみようと思って macports で git-core +svn をインストールするときに、何気に subversion port の info を見たら unicode_path という variant があるじゃないですか。 パッチファイルのコードを見るとなんだか見覚えがあります。 例の subversion の issue のコメント (by Philip Kime)を見るとやっぱり僕のパッチがもとになってるようです。 というわけで、前回の記事で紹介した方法のように面倒なことしなくても、 $ sudo port install subversion +unicode_path で OK です。MacPorts 万歳。 ちなみに、 +unicode_path のパッチファイルは以下のパスにあるハズです。 /opt/local/var/macports/sourc

  • 絵文字が開いてしまった「パンドラの箱」第7回--そして舞台はダブリンから東京へ

    地図が国際規格にふさわしくない理由 2009年4月21日、ここはアイルランドのダブリン・シティ大学です。ISO/IEC 10646を審議する第54回WG 2会議は、2日目の日程に入っていました。この日はいくつかの分科会に分かれテーマ別に審議が進められます。そのうちの一つ、Emojiアドホック会議では、GoogleAppleによって提案された絵文字の審議がおこなわれていました。 開催前は激しい対立が予想されていましたが、いざフタを開けるとGoogleAppleが一員であるアメリカ・ナショナルボディ(以下、ナショナルボディはNBと略)の大幅な妥協によって合意が成立していきます。残ったのは議長が後回しにしておいた「議論の余地のあるもの」だけになりました。 これは全部で3種類あります。まずは5文字の「日文化に依存したアイコン文字」です。どんな文字か確認してみましょう。 図1 日文化

    絵文字が開いてしまった「パンドラの箱」第7回--そして舞台はダブリンから東京へ
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 講習会「文字集合と文字エンコーディング」を開催しました — ディノオープンラボラトリ

    「文字集合と文字エンコーディング」というタイトルで、経験2〜3年目の人をターゲットに社内勉強会を開催しました。文字集合という単語を知っている必要はないですけど、少なくともUTF-8とShift_JISとでは扱える文字の種類数が違うことだけは伝えたかったので、その意味では目標が達成できたと思っています。 まとめ 文字集合とは、扱える文字の集合 JIS X 0208なら6000文字くらいの日語の文字 UCS-2なら60000文字くらいの世界中の主要な文字 文字エンコーディングとは、文字の集合をバイト列に直す方式 Shift_JISはJIS X 0208(など)を1〜2バイトにする UTF-8はUCS-2を1〜3バイトにする 文字エンコーディング関連のツールを使いこなそう nkfやlvを使いこなそう 日語を探すならlgrep 最終兵器:hexjaで16進ダンプ ムービー

  • UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity

    UnicodeとUTF-8の違いは? - Humanityはあんなに反響があるとは思わなかった。 ブコメにコピペじゃなくてまとめを書いてくれれば良い資料になるのにと書いてあったので今度は自分の知識をまとめてみる。 と言っても自分もあのスレを見るまでUnicodeとUTF-8を混同してた一人なのでほとんどあのスレからの知識ですが...orz なので簡単なまとめ。引用を多分に含みます。間違ってたらつっこんでいただけるとうれしいです。 調べる際に弾さんのエントリがかなり参考になったので(今頃意味が分かってきた)関連リンクとして度々載せさせていただきます。 参考リンクじゃない理由は解説しているエントリだけじゃなくて既存のエンコーディングを拡張するといった高度なエントリも含まれているため。 UnicodeとUTF-8 まず一番重要なことは Unicodeは「符号化文字集合(Coded Charact

    UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity
  • PHPでユニコードエスケープ(unicode_encode, unicode_decode代替) - はて日記

    PHP6からは unicode_encode() 関数と unicode_decode() 関数が追加されるらしいのですが、PHP5やPHP4でユニコードエスケープをしたい時のために。 // UTF-8文字列をUnicodeエスケープする。ただし英数字と記号はエスケープしない。 function unicode_decode($str) { return preg_replace_callback("/((?:[^\x09\x0A\x0D\x20-\x7E]{3})+)/", "decode_callback", $str); } function decode_callback($matches) { $char = mb_convert_encoding($matches[1], "UTF-16", "UTF-8"); $escaped = ""; for ($i = 0, $l =

    PHPでユニコードエスケープ(unicode_encode, unicode_decode代替) - はて日記
  • ファイル名は「左から右に読む」とは限らない?!

    ファイル名は「左から右に読む」とは限らない?!:セキュリティTips for Today(8)(1/3 ページ) 私たちの常識が世界では通用しないことがあります。攻撃者はそんな心のすきを狙って、落とし穴を仕掛けます。今回はそれを再認識させるかのような手法と、その対策Tipsを解説します(編集部) 皆さんこんにちは、飯田です。先日、セキュリティ管理者の方々と「今後のウイルス対策のあり方」について意見交換をする機会がありました。参加者からは活発な意見や質問も飛び交い、盛り上がりを見せた意見交換会となりました。私自身も多くの気付きや学びを得ることができ、貴重な時間を過ごすことができました。 その意見交換会の中で、Unicodeの制御文字を利用したファイルの拡張子偽装の話題が出ました。この手法は目新しい手法ではなく、数年前からすでに指摘されていたものです。しかし、久しぶりに手法について議論するこ

    ファイル名は「左から右に読む」とは限らない?!
  • Unicode Utilities: UnicodeSet

  • 日本語文字コード

    フォームメール(mb_send_mail)php ジェネレーター オープンフォトライブラリー自由に画像を登録・紹介できます 文字コード(日語漢字コード表) 日語漢字コード表が、Shift-JIS、EUC-JP、JIS、UTF-8と複数存在する事から、 ホームページ作成・維持管理、データ収集をする上で、文字コードについての多くの諸問題が発生します。 その解決に少しでもお役に立てれば幸いです 文字コード表(実体) シフトJISコード表 Shift-JIS による一覧表 EUCコード表 EUC-JP による一覧表 JISコード表 JIS による一覧表 JIS X 0201 (1976) to Unicode 文字コード表 Shift-JIS による一覧表 JIS X 0208 (1990) to Unicode 漢字コード表 Shift-JIS による一覧表(UTF-8のコードはこちらにあり

  • PHPでマルチバイト対応のtrim関数を作る - hnwの日記

    (2009/06/29)追記4:記事のmb_trim関数が動かない環境があったので、詳細を「PCREはUnicode文字プロパティをサポートするとは限らない」にまとめました。よりポータブルなmb_trim関数も紹介していますので、併せてご覧ください。 追記:「mb_ereg_match('^[\0[:space:]]+$', $str);」で、今回pregで作った正規表現'/^[\s\0\x0b\p{Zs}\p{Zl}\p{Zp}]+$/u'と同一になりました。mb_regex_encoding関数が使える分だけmb_ereg版の方が使い勝手も上です。ちょっとショック。 (2009/02/24 17:00)追記2:もっと簡潔に、「mb_ereg_match('^[\0\s]+$', $str);」でいいことがわかりました。POSIX正規表現風の表記がキモいな、と思っていたので、これは素晴

    PHPでマルチバイト対応のtrim関数を作る - hnwの日記
    shimooka
    shimooka 2009/03/15
    mb_ereg_match('^[\0\s]+$', $str)
  • 文字コードとセキュリティ

    Loading...