新米と秋刀魚のわた焼き お刺身用の秋刀魚を買いました。1尾250円です 3枚におろして、秋刀魚のわたに酒、味醂、醤油で調味して1時間ほど漬け込み、グリルで焼きました 秋刀魚のわた焼き わたの、苦味が程よくマイルドに調味され、クセになる味わいです 艶やかな新米と一緒に 自家製お漬物 土…
Shift_JISにすると、UTF-8でひらがなの「く」を構成する「0xE3818F」の先頭2バイトが、まず「縺(0xE381)」という文字と解釈され、残った「0x8F」が、後続の、二重引用符のエスケープシーケンスである「\(0x5C)」と1つの文字、「十(0x8F5C)」を作ってしまうのです。これにより、エスケープシーケンスがなくなった二重引用符は、そこで文字列リテラルを閉じることになります。こうして、その後ろに書かれたアラートが動いてしまうという訳です。 つまりこれは、攻撃者に誘導され、ユーザー自身が文字エンコーディングを切り替えた場合、本来XSSがないページでもXSSが起こせる場合があるということです。 IE以外のブラウザは、親フレームのエンコーディングを変更した場合、クロスドメインでも子フレームのエンコーディングまで変更するので、こんな誘導の仕方もできます。 http://l0.c
Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
テキストを作成する人がばらばらだと、事前にちゃんとルール決めないと英数字が全角半角入り乱れてしまいますよね。全角か半角どちらかに統一されているならまだしも、ひと続きの文字列で1234567890とか混在しているのはどうやったらこう変換できるんだろうと不思議になってしまいます。 あと「カキクケコガ ギ グ ゲ ゴ」とか半角カナもDTP入稿受ける側にとってはこまりますよね。 テキストエディタで置換するのもありですが、rubyだと一撃で変換できますね。 たとえばこんな感じのスクリプトで require 'nkf' str_shiftjis = NKF.nkf('-SsXm0Z0', str) #文字の正規化(nkf)半角カナ→全角かな/全角数字→半角数字 これで半角カナを全角カナに、全角数字を半角数字に変換します。もとから全角カナ・半角数字だったものはそのまま。素敵。 あと、約物
1. <Insert Picture Here> MySQL 日本語利用徹底入門 日本オラクル株式会社 MySQL Global Business Unit テクニカルアナリスト 奥野幹也 2012 年 5 月 29 日 Copyright© 2012, Oracle. All rights reserved. 2. 2 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。ま た、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確 約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オ ラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊 社の裁量により決定されます。 Oracle と Java は、 Oracle Cor
rubyruby1.8だと?aでは文字コードがいただけたけれど、1.9だと文字列をくださるようだ。 ~% irb1.9 irb(main):001:0> ?> => ">" ~% irb irb(main):001:0> ?> => 62 *1じゃあこうすればいいか。 ~% irb1.9 irb(main):001:0> ">"[0] => ">" ~% irb irb(main):001:0> ">"[0] => 62 おお、1.9すばらしい。でも、今はどうしてもasciiコードが欲しいので少し困った。そこで、るりまを調べてみると1.9ではString#bytes.to_aを使えばいいらしい。 ~% irb1.9 irb(main):001:0> ">".bytes.to_a[0] => 62 1.8と1.9の両方で動くようにしたければ、unpack('C*')を使ってこうすればいい。
下図は、SoftBank iPhoneのMailが用いるShift_JISのIBM拡張文字領域*1。どうだ、驚いたろう。 SoftBank iPhoneのMailは、charset=Shift_JISをよく使う。髙村薫の「髙」や宮﨑あおいの「﨑」などのWindows外字もShift_JISで送るし、絵文字もShift_JISで送る。しかし、WindowsのIBM拡張文字領域とSoftBankの絵文字領域は、もともと衝突しており、共存できない。なので、SoftBank iPhoneのShift_JISでは、IBM拡張文字のうち下図ピンク部分が使えない。 だったらその分は、NEC選定IBM拡張文字のほうを使えばいいじゃないですか、どうせダブってるんだから(下図)。というのが、大ざっぱに言えば、SoftBank iPhoneのMailが用いるShift_JISである。 その外字領域をまとめると、
同僚の女性からクッキーをすすめられても、「サードパーティークッキーは拒否します」とキッパリお断り申し上げたiPhoneアプリ開発担当の七尾です。というか、どう考えてもホワイトデーの(ry さて先週に引き続き、iOS開発でUnicode絵文字を扱う際の注意点について書いていこうと思います。 Combining Character/結合文字 サロゲートペアの他にも同様に気をつけなければいけないのが、結合文字です。 アルファベットに対しての修飾文字を付けたり、数字を四角で囲ったりした文字があります。 そういった文字は結合文字と呼ばれ、iPhoneで入力できる文字でいうと、 1を四角で囲った文字 = 0x31 0x20E3 2を四角で囲った文字 = 0x32 0x20E3 というようになります。 結合文字の文字数を取りたい場合は、特定の修飾文字を読み飛ばせば良いだけなので、 以下のようにさらっと対
先日取り上げて頂いたテック総研のインタビューでは残念ながら時間の都合で、ろくろを回す事が出来なかった、iPhoneアプリ開発担当の七尾です。いやー残念。 先日お伝えしたAppleカラー絵文字文字コード表にUnicodeコードポイント、UTF-8、SoftBankUnicodeも追加したので、お知らせします。 iOS Emoji - GitHub Pages ついでに各種変換処理なども書いたり、Unicodeの仕様を調べたりしたので、文字コードのおさらいとして、いくつかUnicode絵文字を扱う上での注意点についても、メモしておこうと思います。と思ったら結構な分量になってしまったので、前半と後半に分けてお送りします。 UnicodeSet そもそも絵文字ってどこからどこまで?という問いに答えてくれるのが、UnicodeSetです。 よく使われるものだと\p{Han}(漢字の範囲を示す)だとか
_ Rails3 と MySQL な環境で Unicode の絵文字を使う 絵文字が Unicode 6 から収録されて iPhone などから入力された絵文字なんかをデータベースに登録することも可能になった.Rails のアプリケーションを作成して,ローカルでちょっと開発するときは SQLite を利用していて,この絵文字についても特に問題なくデータベースに読み書きできていたのだけど,別のサーバーで MySQL で利用しようとしたら,絵文字以降の文字列が消えてしまう,という状態になった. 利用していた MySQL のバージョンは 5.1.絵文字は UTF-8 で 4 バイトで表されているけど,MySQL 5.1 での UTF-8 は 1 文字を 3 バイトまでをサポートしているため,絵文字を利用した場合はうまく扱ってもらえない.MySQL 5.5 からは 4 バイトまでサポートが可能な
K.Takata @k_takata 「Unicode文字列型が複数の内部表現をサポート」ってどういうこと?「Python 2系からの移植を容易にするため…Unicodeリテラルシンタックスも復活」これは良い。 http://t.co/LxkUP45x 2012-03-06 21:44:00
たまにRubyの話題でも。 Ruby 1.9で文字コードの自動判別をさせようとおもったら、意外に良いライブラリが見つからなくて苦労しました。 結局ICUをbindingした、charlock_holmesがちゃんと使えたので、メモです。 OSXで使う場合は、下記の様にしてICUライブラリをインストールします。Linuxでは適当なパッケージシステムを使ってインストールしてください。 curl -O http://download.icu-project.org/files/icu4c/4.8.1.1/icu4c-4_8_1_1-src.tgz tar xvzf icu4c-4_8_1_1-src.tgz cd icu/source ./runConfigureICU MacOSX --with-library-bits=64 --disable-samples --enable-static
クラウドネイティブの実現 モダンインフラの構築・運用の課題解決へ コンテナの可能性を広げるVMware Tanzu DX時代のアプリケーションセキュリティ 未来革新プロジェクトに邁進するSOMPO 基幹システムのモダナイゼーションに迫る VMware 渡辺氏に聞く 顧客のデジタル変革のために 自らも改革を続けるヴイエムウェアの戦略 日清食品グループのDX(前編) 現場が主役のDXのススメ トップの強い意思で変革に弾み Microsoft 365のデータは安全か? クラウド型アプリを採用する企業のための 包括的なデータ保護のありかたを解説 ともにDXを推進する コンテナ化されたワークロードを管理 継続的な価値を生みだす「協創」への挑戦 ITインフラ運用からの解放 HCI+JP1による統合運用による負荷激減で 次世代IT部門への役割変革へ一歩前進 エンドポイントセキュリティの転機 情報セキュリ
Note 本コンテンツの一部は、業務時間内に調べた内容を含んでおり、株式会社ディー・エヌ・エーの提供でお送りしております。 とある理由で全角、半角の判定が必要になったのですが、簡単技(SJISなどに変換してバイト数計測など)はつかえなかったため、自作する方向で調べて見ました。 Pythonには unicodedata.east_asian_width() という関数があり、 エキスパートPythonプログラミング というすばらしい書籍の日本語オリジナルの文字コード関連の章によると、この関数が "F" 、 "W" 、 "A" (ただし、Aはフォントにより変わる曖昧な文字)が返すと全角としてカウントすればよい、と書かれています。 こちらを参考にJavaScriptの全角/半角判定を行った幅計算を実装してみます。 まずJavaScriptを知る¶ JavaScriptは内部では、UTF-16とい
どの方式も、ASCIIを基本として、ASCIIでは使われていないデータ部分を使って日本語(やその他の言語)を表現しています。その使い方はそれぞれの符号化方式で異なるため、「このデータの並びはShift_JISでしか使われないはず…だから、このテキストはShift_JISだろう」みたいな感じで、文字コードの推定ができます。 たとえば、昔のYahoo!JapanはEUC-JPで書かれていた(今はUTF-8)のですが、そのとき、ページの最初のほうにこんな感じのコメントが入っていました。 <!-- 京 --> 趣味によっては「美乳」とか使うみたいです(笑 この「京」や「美乳」をEUC-JPでエンコードしたバイト列、「0xB5 0xFE」や「0xC8 0xFE 0xC6 0xFD」は、Shift_JISにもISO-2022-JPにも、さらにUTF-8にも決して現れないデータの並びです。だから、ブラウ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く