タグ

文字コードに関するyogasaのブックマーク (38)

  • 漢字のようで漢字でないUnicodeの「康熙部首」と「CJK部首補助」|TechRacho by BPS株式会社

    きっかけ 以下のツイートで「埼玉埼⽟問題」と康煕部首を知りました。 「埼玉」と「埼⽟」の話。unicodedata.normalize('NFKC', '「埼玉」と「埼⽟」') でいけそう https://t.co/kte0sxDvZT — Haruhiko Okumura (@h_okumura) July 11, 2020 康煕部首とは ⼀⼁⼂⼃⼄⼅⼆⼇⼈⼉⼊⼋⼌⼍⼎⼏⼐⼑⼒⼓⼔⼕⼖⼗⼘⼙⼚⼛⼜⼝⼞⼟⼠⼡⼢⼣⼤⼥⼦⼧⼨⼩⼪⼫⼬⼭⼮⼯⼰⼱⼲⼳⼴⼵⼶⼷⼸⼹⼺⼻⼼⼽⼾⼿⽀⽁⽂⽃⽄⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿⾀⾁⾂⾃⾄⾅⾆⾇⾈⾉⾊⾋⾌⾍⾎⾏⾐⾑⾒⾓⾔⾕⾖⾗⾘⾙⾚⾛⾜⾝⾞⾟⾠⾡⾢⾣⾤⾥⾦⾧⾨⾩⾪⾫⾬⾭⾮⾯⾰⾱⾲⾳⾴⾵⾶⾷⾸⾹⾺⾻⾼⾽⾾⾿⿀⿁⿂⿃⿄⿅⿆⿇⿈⿉⿊⿋⿌⿍⿎⿏⿐⿑⿒⿓⿔⿕ KangXi Radica

    漢字のようで漢字でないUnicodeの「康熙部首」と「CJK部首補助」|TechRacho by BPS株式会社
  • MySQLの日本語コレーション - tmtms のメモ

    4月にMySQLの日語コレーションについて語り合う場に呼ばれていろいろ話を聞いてきました。すぐにブログを書こうと思ったんですが、はや2ヶ月経過…。 ときどき、自分がMySQLの文字コードに関して発表する際に、次のようなスライドをいれてるんですが、 MySQL 8.0 でとうとう日語コレーションが入ることになったのに、なんか期待してたのと違いました。 で、その辺の話を聞きました(2ヶ月も経ってるのでうろ覚え)。 Q. わざわざ日語ロケール作るんだったら日人が扱いやすいロケールにしてほしい utf8mb4_ja_0900_as_csはMySQLが独自に考えたものではない。Unicode規格に従っている。過去にいろいろ独自にやって失敗してきてるので、もう独自にやるのは避けたい。 ai(accent insensitive)で「ハ」=「パ」=「バ」になるのも、ci(case insensi

    MySQLの日本語コレーション - tmtms のメモ
  • MySQLの文字コード事情 2017版

    10. 文字集合文字集合 US-ASCII 数字、英字、32個の記号 JIS X 0201 US-ASCII(「」→「¥」/「~」→「‾」)+カタカ ナ JIS X 0208 数字、ひらがな、カタカナ、漢字、ラテン文字、 ギリシャ文字、記号等々 JIS X 0213 JIS X 0208 + 第三水準/第四水準、ローマ数字、 鼻濁音文字等々 11. 文字集合文字集合 Windows-31J JIS X 0201 + JIS X 0208 + NEC特殊文字 + IBM 拡張文字(「⑧」「Ⅷ」「㈱」「髙」「﨑」「彅」 等) Unicode 世界中の文字。絵文字(「�����������������」「�������������������」等)も含む。

    MySQLの文字コード事情 2017版
  • バックスラッシュと円記号の悲劇 - 仮想と現実

    Windowsのパス表示を見てみよう。Explorerでは コマンドプロンプトでは というようにパスの区切りは「¥」で表示される。これ、おかしいと思わないだろうか。なぜ円記号なのだ。通貨の円に、なにかを切り分ける意味があるわけでもないし、見た目、文字の形が区切りにふさわしいとも思えない。Yに横棒二つけた記号である。通貨の円を表す以外に使うべきではない。そもそもファイルパスの区切りに円記号を使おうと思った人は誰だ?となるだろう。もちろんそんな人はいない。これはMS-DOS登場以来現在に至るまで、日PC環境でずーっと続いている文字化けである。MS-DOSやWindowsの解説書でも円記号で印刷されているので、文字化けだとは思わない人も多いだろうが、どう考えても文字化けである。日以外の多くの環境ではWindowsのパス区切り文字はバックスラッシュ「\」で表示される。 UNIXではパスの区

    バックスラッシュと円記号の悲劇 - 仮想と現実
  • 文字化けメール - tmtms のメモ

    DELL にユーザー登録したらメールが送られてきたんですが、そのメールが文字化けしてました。 文字化けメール研究家としては解析せざるを得ません。 メーラーで見ると Subject が次のようになっていました。 デルアカウントに$4EPO?$$$?$@$-!"$"$j$,$H$&$4$6$$$^$9! メールのソースを見ると次のようになっていました。 Subject: =?iso-2022-jp?Q?=1B=24B=25G=25k=25=22=25=2B=25=26=25s=25H=24K?= =?iso-2022-jp?Q?=244EPO=3F=24=24=24=3F=24=40=24=2D=21=22=24=22=24j=24?= =?iso-2022-jp?Q?=2C=24H=24=26=244=246=24=24=24=5E=249=1B=28B=21?= この Subject の

    文字化けメール - tmtms のメモ
  • UnicodeのWAVE DASH例示字形が、25年ぶりに修正された理由 

    UnicodeのWAVE DASH例示字形が、25年ぶりに修正された理由 
  • utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる

    RailsMySQLのcollationをサーバー側のデフォルトのutf8_general_ciからutf8_unicode_ciにわざわざ変えてるのどうせ大した理由じゃないだろと思って掘ってみたらやっぱり大した理由じゃなかった… https://t.co/6NeetGhTF0— Ryuta Kamizono (@kamipo) April 18, 2014 Railsでcollationとしてutf8_unicode_ci(RailsのDEFAULT_COLLATION)が採用されるのはcharsetが未指定もしくはutf8(RailsのDEFAULT_CHARSET)のときだけで、utf8mb4にすることとかは全く考慮されてない。— Ryuta Kamizono (@kamipo) April 19, 2014 @frsyuki MySQLのcharset utf8のときのデフォルト

    utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる
  • ASCIIコードの秘密 - ザリガニが見ていた...。

    当はエスケープシーケンスのことを調べていたのだが、その前にASCIIコードについて調べることになってしまった...。文字コードの基として知っているつもりだったASCIIコードについて、あらためて見直してみると、実は当の意味をよく分かっていなかったことに気づいた。 ASCIIコード表 ASCIIコードは、7ビット(2進数7桁)の文字コードであり、全部で128のコードが定義されている。 最も基的な文字コードであり、その他多くの文字コードはこのASCIIコードと互換性を維持している。 00 10 20 30 40 50 60 70 00 NUL DLE SP 0 @ P ` p 01 SOH DC1 ! 1 A Q a q 02 STX DC2 " 2 B R b r 03 ETX DC3 # 3 C S c s 04 EOT DC4 $ 4 D T d t 05 ENQ NAK % 5

  • 漢数字が数字順にソートされない理由を調べてみた - give IT a try

    はじめに:「なぜ漢数字は数字順に並ばない!?」 先日、こんなツイートをしたところ、結構たくさんの人にリツイートされました。(執筆時点で50件以上) 「漢数字はソートしても数字順に並ばない」という事実を生まれて初めて知った。まさかのサプライズ。 pic.twitter.com/Eqx3ltIfHs— Junichi Ito (伊藤淳一) (@jnchito) 2014年11月27日 「なぜ漢数字は数字順に並ばないのか」という問いに対して、表面的な回答をするなら「数字順に並ばないのは、数字の大きさではなく文字コード順でソートされているから」ということになります。 いや、もちろんそれはわかってるんです。 問題は「そもそもなんで数字順に文字コードを振らなかったの!?」ということです。 感覚的には「一郎、二郎、三郎」って並んでほしいじゃないですか。でも、プログラム上でソートすると「一郎、三郎、二郎」

    漢数字が数字順にソートされない理由を調べてみた - give IT a try
  • 全角チルダ問題

    株式会社メルカリ様で行われた第2回CircleCI ユーザーコミュニティミートアップでの資料です。 #circlecijp

    全角チルダ問題
  • JavaScript Stringでサロゲートペアを扱う - teppeis blog

    JavaScriptで強力なUnicodeを扱う方法について書きます!(嘘) 先月末に発売されたWEB+DB PRESS Vol.78で「フロントエンドの国際化」の記事を書いたのは前回書いた通り。 WEB+DB PRESS Vol.78に「フロントエンドの国際化」について書いた! - teppeis blog 記事内で、JSの文字列は基UTF-16なのでサロゲートペアがうまく扱えないっていう問題は書いたけど、じゃあどうすればいいの?っていうのは載せられなかったので書く。 文字数のカウント 「𠮷(U+20BB7、つちよしだ)」や「𩸽(U+29E3D、ほっけ)」はUTF-16ではサロゲートペアで表現するのでlengthが見た目とズレる。 console.log("𠮷野家で𩸽".length); // 7 これを「5文字」とカウントしたいという話。 正規表現を使う方法 たぶん実装が一番

    JavaScript Stringでサロゲートペアを扱う - teppeis blog
  • 文字コードの脆弱性はこの3年間でどの程度対策されたか?

    4. デモ1:半端な先行バイトによるXSS • 半端な先行バイトとは – Shift_JIS、EUC-JP、UTF-8などマルチバイト文字の1 バイト目だけが独立して存在する状態 – 次の文字が、マルチバイト文字の2バイト目以降の文 字として「われる」状況になる – input要素などの引用符「”」をわせて、イベントハ ンドラを注入する攻撃 Copyright © 2010-2014 HASH Consulting Corp. 4 5. デモ1:PHPソース <?php session_start(); header('Content-Type: text/html; charset=Shift_JIS'); $p1 = @$_GET['p1']; $p2 = @$_GET['p2']; ?> <body> <form> PHP Version:<?php echo htmlspeci

    文字コードの脆弱性はこの3年間でどの程度対策されたか?
  • ssh接続先の文字コードが接続元と違うときの対処法 - 文字っぽいの。

    問題 自分の環境:UTF-8 SSH接続先:EUC-JP とかよくありますね。 $ export LANG=eucJP とか $ export LANG=ja_JP.UTF-8 してあげてもいいんですが、わざわざやるのも面倒ですし、「ログイン先とこっちのどっちで設定するといいんだ?」みたいに悩みます。 解決法 cocotというツールを使います。 $ brew install cocot でインストール終わり。後は $ cocot -t UTF-8 -p EUC-JP ssh tarou@example.com とすると、手元のUTF-8環境に合わせて向こう側のEUC-JPをコンバートしてくれます。 参考 Ubuntu日語フォーラム / GNOMEの文字コードを常にEUC-JPにする方法

    ssh接続先の文字コードが接続元と違うときの対処法 - 文字っぽいの。
  • Unicode以外のテキスト・ファイルを読み取るには?[Win 8]

    Unicode以外のテキスト・ファイルを読み取るには?[Win 8]:WinRT/Metro TIPS 連載目次 テキスト・ファイルの文字エンコーディングがUnicodeならば、読み取ることは簡単だ。ところが日でアプリを作るには、シフトJISなどのエンコーディングを無視するわけにはいかないのが現状だ。Unicode以外の文字エンコーディングのテキスト・ファイルを読み取るにはどうしたらいいだろうか? 稿では、文字エンコーディングが分かっている場合の方法と、分からない場合の設計指針を解説する。稿のサンプルは「Windows Store app samples:MetroTips #46(Windows 8版)」からダウンロードできる。 なお、Windows Phone 8の場合は、「WinRT/Metro TIPS:シフトJISのデータを読み取るには?[WP 8]」で解説したように、Un

    Unicode以外のテキスト・ファイルを読み取るには?[Win 8]
  • Vimで改行コードや文字コードを変更する方法 - 結城浩のはてなブログ

    前提 Vimを使っている。 問題 ファイルの改行コードをCR LFからLFに変更したい。 ファイルの文字コードをShift_JISやcp932からUTF-8に変更したい。 解法 :set fileformat=unix :set fileencoding=utf-8 詳細 :set file[Tab]で補完を使うと楽。 改行コードはdos (CR LF), unix (LF) など。 文字コードはutf-8, shift_jis, cp932など。 参照 http://advweb.seesaa.net/article/3074705.html 補足 1にマルがついた丸つき文字はshift_jisへ変換して保存しようとすると変換エラーになります。cp932なら大丈夫。 :setlocalを使ったほうが安全という指摘がありました。

    Vimで改行コードや文字コードを変更する方法 - 結城浩のはてなブログ
  • この「邉」を作ったのは誰だぁ!! - 帰ってきた💫Unicode刑事〔デカ〕リターンズ

    『Unicode IVS/IVD入門』(田丸健三郎、小林龍生)のなかで、目玉がWindows 8のIVS対応を紹介している第2章だとするなら、背骨といえるのが、IVSという枠組み自体について解説している第5章だよね。 たとえがしっくりきませんが、こだわらずに先に進みましょう。 その第5章のなかでも、IVSの基中の基をわずか1行に凝縮して視覚化しているのが、図5-7だ。 はいはい。 で、今日は図5-7に突っ込んでみようと。 もちろん、突っ込みますよー! あのさ、そういうテンションいらないから。この図なんだけど、どう? んー、解説抜きで見せられても、ちょっと難しいですね。 いや、当は難しくないんだよ。「漢字に異体字セレクタを付けるとグリフを指定できます」って言ってるだけの図なんだから。 この真ん中の「E010B」が右では「E0110」に変化してるのは、どういう意味なんですか? 誤植だね。

    この「邉」を作ったのは誰だぁ!! - 帰ってきた💫Unicode刑事〔デカ〕リターンズ
  • スマートフォンと文字コード

    1. はじめに 内閣府によれば,2012年3月時点における携帯電話の世帯普及率はじつに94.5%にのぼる[1].携帯電話はほとんど全ての国民が1台ずつ持つ,他に例を見ない製品に育った.その中で近年台頭著しいのがスマートフォンである. コムスコア社の調査によると,今年6月時点におけるスマートフォンユーザは全携帯電話ユーザの23.5%であり,この数字は前年同月から43%の増加にあたる[2].つまり,最近になって普及率が急カーブで上昇している.こうした傾向は出荷台数を見るとより顕著になる.MM総研によると,今年4月~9月の国内携帯電話端末の総出荷台数に占めるスマートフォンの比率は69.4%にのぼる[3]. さて,スマートフォンは不特定多数との情報交換を目的とするものだ.したがって文字コードの実装は,重要なポイントとなる.では,その実態はどんなものか,いささか調べた結果をお伝えしたい. 2. レパ

  • Rubyのエンコーディング - tmtms のメモ

    Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

    Rubyのエンコーディング - tmtms のメモ
  • iPhoneの文字化けを防ぐ魔法の呪文 - 帰ってきた💫Unicode刑事〔デカ〕リターンズ

    昨日のエントリ(「iPhoneのMailから送ったメッセージ全体が文字化け」のまとめ)読みましたよー。iPhoneから送るメールの文字化け防止策は、署名に「♡」を入れておけばOKなんですよね? うん。ただまあ、ちょっと気にする人はいるかもなあ。 男子に誤解されちゃう、と? いや、そういうのじゃなくて、つまり、化けちゃうんだよね。 えっ? 相手の環境によっては「♡」が化けるんだよ。 何ですかそれ。文字化け対策で入れた文字が化けたら意味ないじゃないですか。 意味はあるよ。iPhoneから送ったメールは相手先で全体が化けて読めなくなる可能性があるけど、「♡」でcharset=UTF-8にしておけば、この「全体化け」を防げるんだから。ただし、相手がケータイだったりすると、「♡」自体は「・」とか「?」とかになっちゃうってこと。 自らは捨て石となってメッセージ全体を救うということですか。UTF-8にな

    iPhoneの文字化けを防ぐ魔法の呪文 - 帰ってきた💫Unicode刑事〔デカ〕リターンズ
  • SoftBank iPhoneのShift_JISがすごいことになっている件 - 帰ってきた💫Unicode刑事〔デカ〕リターンズ

    下図は、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である。 その外字領域をまとめると、

    SoftBank iPhoneのShift_JISがすごいことになっている件 - 帰ってきた💫Unicode刑事〔デカ〕リターンズ