タグ

Unicodeに関するn2sのブックマーク (28)

  • SYMBL (◕‿◕) シンボル、絵文字、文字、スクリプト、アルファベット、ヒエログリフ、およびすべてのユニコード

    このウェブサイトのすべての絵文字や記号の画像は情報のためにのみ使用され、権利は作者に帰属しており、作者の許可なしに商業目的で使用することはできません。 すべての記号の名前は公式の Unicode® 名です。リストされたコードポイントは Unicode 規格の一部です。 © SYMBL 2012—2025 Ex: Unicode キャラクター図鑑

    SYMBL (◕‿◕) シンボル、絵文字、文字、スクリプト、アルファベット、ヒエログリフ、およびすべてのユニコード
    n2s
    n2s 2019/01/24
  • 「ユニコード」で予期せぬ目に遭った話 - moriyoshiの日記

    自分の知らないCJK Ideographのバリエーションがまだあったことに戦慄している pic.twitter.com/kUlyRLDDTM— moriyoshit (@moriyoshit) March 9, 2017 などというツイートをしたところ、思ったより反響があったのでまとめておく。 上記ではあいまいに「バリエーション」などと書いたが、Unicodeとそれを扱う環境においては、バリエーションと一口に言っても次のような状況がある。 意味論的に等価な異なる字形の集合 同じ字形で異なるコードポイントの集合 aは結構なじみ深いと思う。 a-1. 異なるコードポイントにそれぞれ異なる字形が割り当てられているもの 例: 「東」(U+6771) ⇔「东」(U+4E1C) 「斉」(U+6589) ⇔「齊」(U+9F4A) 「高」(U+9AD8) ⇔「髙」(U+9AD9) a-2. 同じコードポイ

    「ユニコード」で予期せぬ目に遭った話 - moriyoshiの日記
    n2s
    n2s 2017/03/13
  • Unicodeとは? その歴史と進化、開発者向け基礎知識

    まず、Unicodeで規定されている文字1つ1つには、最大で21bits(16進数で5~6桁)の数値が割り振られている。この数値をコードポイント(code point: 符号点、符号位置)という。 ちなみに、Unicodeでは、コードポイントの数値で文字を表すための表記として、「U+16進数」という書き方を使う。例えば、「a」であればU+61、「あ」であればU+3042と表記する(以下、文字コードは全て16進数で表記する)。 一方で、この21bitsのコードポイントがそのままテキストファイルに保存されるわけではない。一定のルールでバイト列に符号化することになる。詳細については、後々、Unicodeの歴史を追いつつ説明していくが、おおむね以下の3つを押さえておけばいいだろう(加えてコードポイントがビッグエンディアンで格納されるか、リトルエンディアンで格納されるかも重要になる。が、今回と次回は

  • Unicodeプロパティを使ったPerl正規表現 - Hatena Developer Blog

    こんにちは、Webアプリケーションエンジニアのid:nanto_viです。 Webアプリケーションを作っていると、「全角文字と半角文字を統一したい」「ユーザーの入力から漢字を抜き出したい」といったテキスト処理を行う場面にたびたび遭遇します。はてなではWebアプリケーションのサーバー側プログラミング言語としてPerlを多く使っていますが、PerlならこのようなときにUnicodeプロパティを用いた正規表現パターンで柔軟な処理が可能です。 Unicodeプロパティ 現在、ほとんどのプラットフォームで採用されている文字集合がUnicodeです。Unicodeでは文字だけでなくその文字の様々な特性(プロパティ)も定められており、テキスト処理の基礎情報として活用できます。 Perl正規表現でのUnicodeプロパティの利用 Perlの正規表現では、\p{Property_Name=Value}のよう

    Unicodeプロパティを使ったPerl正規表現 - Hatena Developer Blog
  • UTF-8

    Unicodeのテキストをファイルに保存する場合、UTF-8という形式がよく使われる。システムのログや構成ファイル、XML/HTMLファイル、プログラムコードなど、UTF-8が使われる場面は非常に多い。UTF-8とは何か、どのような特徴を持つのかを解説。 連載目次 「UTF-8」とは、Unicode文字の符号化(エンコード)方法の1つ。Unicodeの文字コード(コードポイント)を、1~4bytesの可変長のバイトデータのストリームとして表現する方式である。Unicode文字列をファイルに保存したり、ネットワーク経由で送信したりする場合にはこのUTF-8がよく用いられる。近年では、HTMLコードやプログラムのソースコードなどをファイルに保存する場合は、このUTF-8形式を使うことが多い。 Unicode文字の符号化とは? Unicodeは、世界中のさまざまな言語で使われる文字を、統一された

    UTF-8
  • Unicode(ユニコード)

    デバイスやOSを問わず、システムの標準的な文字コードとして広く使われるようになった文字コード「Unicode」。その特徴や登場の背景、キーとなる技術をまとめる。 連載目次 「Unicode」(ユニコード)は、世界中の文字を1つの文字コード体系で扱えるように作られた、文字コードセットの規格。現在のコンピュータシステムでは内部コードをこのUnicodeにして、世界中でほぼ同じバイナリーコードを使えるようにしていることが多い。Unicodeコンソーシアムが規格を策定している。 Unicode登場の背景 Unicodeが登場するまでは、コンピュータシステムではShift_JIS(主にDOSやWindows)やEUC(Extended UNIX Code、主にUNIX)、EBCDIC(主にメインフレームコンピュータ)などのコードが使われていた。 これらは、英語ともう1つの言語(日語や中国語など)を

    Unicode(ユニコード)
  • rubyでunicode, UTF8を扱うためのTips - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    rubyでunicode, UTF8を扱うためのTips - Qiita
  • Unicode正規化 用語の混乱について 第4.2版 – ものかの

    初版 2010/4/5 第2版 2013/5/10 誤解を修正。全面的に書き直し。 第3版 2014/7/13 なるべく分かりやすく全面的に書き直し。 第4版 2015/5/20 さらに分かりやすく全面的に書き直し。 第4.1版 2015/5/27 まだ分かりにくいと不評なので書き直し。 第4.2版 2015/5/27 さらに分かりやすく調整。 Unicode正規化の考え方自体はとてもシンプルです。でも、よく知ろうとしていろいろ調べると、用語がハイコンテキストすぎて、混乱してワケがわからなくなります。日で一般的に見られる用語を図にしてみましょう。 混乱するのはどこだと思いますか? “合成済み文字” と “合成文字” の2か所です。どちらも言葉として同じ意味です。それなのに、異なった状態を表す用語として無理矢理に使い分けようとしています。ここから、以下のような奇妙な文章ができあがります。

    Unicode正規化 用語の混乱について 第4.2版 – ものかの
    n2s
    n2s 2015/05/20
  • UnicodeのWAVE DASH例示字形が、25年ぶりに修正された理由 

    UnicodeのWAVE DASH例示字形が、25年ぶりに修正された理由 
    n2s
    n2s 2015/03/07
    先日オガタさんがTwitterで話してた話題だ
  • ユニコードエスケープシーケンスが拡張された - JS.next

    概要 今まではサロゲートペアによる文字を1シーケンスで表すことが出来なかったが、ES2015では『\u{xxxxx}』の形式で「0xffff」を超える文字コードを表すことができる。 例 var s1 = '\ud842\udf9f' var s2 = '\u{20b9f}' console.log( s1 == s2, s1, s2 ) // true "𠮟" "𠮟" 実装されるバージョン V8 3.31.38(文字列リテラル内) 4.2.1(正規表現リテラル内)

    ユニコードエスケープシーケンスが拡張された - JS.next
  • 日本の文字とUnicode - 第4回 漢字とUnicode - 大修館書店 WEB国語教室

    現代において、文字を書くということは、コンピュータやケータイのキーを打つことと、ほぼ同義になってきています。そして、現代のコンピュータにおいて文字を扱うためには、文字コード、それもUnicodeの助けを借りるしかなくなってきています。でも、Unicodeは日語に特化して作られたわけではないので、日の文字を扱おうとした場合、色々とヤヤコシイ点があったりします。それらのヤヤコシイ点を、できるだけ平易に説明するこのシリーズ、第4回は、漢字とUnicodeの関係です。 Unicodeには、漢字が大量に収録されています。 ざっくり言えば、Unicodeに収録されている文字のうち、 およそ3分の2にあたる70,000字強が、漢字なのです。 最初はU+4E00~U+9FFF(コード表参照)に、約20,000字の「CJK統合漢字」が収録されているだけでした。 次にU+3400~U+4DBF(コード表参

    n2s
    n2s 2014/11/17
  • 文字コード地獄秘話 第1話:Unicodeにおける全角・半角 - ALBERT Engineering Blog

    ごあいさつ 皆様はじめまして、文字コードおじさんです。細々とカメラ屋を営んでおりましたが、エンジニアとしての技量を評価され、ALBERTのシステム開発・コンサルティング部で働くことを許されました。特技はサーバーの統廃合です。 今回は最初ということですが、Unicodeにおける全角・半角の取り扱いについて触れてみようと思います。なお、さも連載するかのように第1話と銘打っていますが、上層部の無慈悲な裁決によっては1話打ち切りもありえますので、その際はご容赦ください。 固定観念を捨てよう 「全角50文字、半角100文字まで」といったような文言を見かけたことがあると思います。 特にUnicode以前のレガシーな処理系では全角文字に2バイト、それ以外は1バイトという割り当てが慣習となっていました。 このため、「全角=2バイト文字、半角=1バイト文字」という観念が世間に定着しているのが現状です。 しか

    文字コード地獄秘話 第1話:Unicodeにおける全角・半角 - ALBERT Engineering Blog
    n2s
    n2s 2014/04/21
  • Firefox 29 で String.fromCodePoint, String.prototype.codePointAt が実装された - hogehoge @teramako

    918879 - Implement String#codePointAt and String.fromCodePoint テストコード: http://mxr.mozilla.org/mozilla-central/source/js/src/tests/ecma_6/String/ ECMAScript6th における、Unicode をもう少しうまく扱うためのメソッド2つ。従来の String.fromCharCode, String.prototype.charCodeAt の Unicode 対応版と言え、サロゲートペアとなる文字の扱いが変わっている。 今回は「吉野家」の正しい文字として http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=%F0%A0%AE%B7 を使うよ。 var str = "&#134071

    Firefox 29 で String.fromCodePoint, String.prototype.codePointAt が実装された - hogehoge @teramako
  • 東アジア文字幅問題との戦いの記録 - waki-memo

    2013-12-21 東アジア文字幅問題との戦いの記録 こんにちは。ブログを始めて2日目になる wacky です。この記事は KMC アドベントカレンダー 2013 の 21 日目の記事です。昨日の記事は uiureo さんの ChatPad での会話は簡単に盗聴される でした。今回の記事のタイトルは、「ambiguousな文字幅が2で、256色表示で、罫線がちゃんと表示されるtmux」の予定でしたが、色々書いてるうちに変えたくなったので、変えることにしました。 東アジア文字幅問題とは KMC のアドベントカレンダーをたどってこの記事を見ている人の中には、クライアントとして何らかの Unix を動かしていて、一日のほとんどを端末(とブラウザと mikutter )の上で過ごす人が多いと思います。自分もその一人です。さて、端末の上で、○や☆などの文字幅が Ambiguous な文字を打つと

    東アジア文字幅問題との戦いの記録 - waki-memo
    n2s
    n2s 2013/12/21
    utf8-cjk-charmapってDebianでも使えればなぁ
  • visual_widthというgemを書いた - Islands in the byte stream (legacy)

    UnicodeのEast Asian Width (東アジアの文字幅)特性を扱うgemを書いた。CPANの Unicode::EastAsianWidth, Text::VisualWIdth::PP, Text::UnicodeTable::Simpleの機能をマージしたようなものになってる。文字特性のデータはUnicode仕様書から自動生成している。 https://rubygems.org/gems/visual_width ターミナルにさくっとテーブルを書きたいときは日語でもくずれないので便利かも。 # VisualWidth::Table require 'visual_width/table' t = VisualWidth::Table.new( style: [ { align: :center, width: 10 }, { align: :center, width:

    visual_widthというgemを書いた - Islands in the byte stream (legacy)
  • Masato Kinugawa Security Blog: U+2028/2029とDOM based XSS

    ECMAScriptの仕様では、0x0A/0x0D以外にU+2028/2029の文字も改行とすることが明記されています。 これはあまり知られていないように思います。 以下はアラートを出します。 <script> //[U+2028]alert(1) </script> 知られていないだけでなく、知っていたとしても、スクリプトで文字列を処理するときに、U+2028/2029まで考慮する開発者がどれだけいるのかという話です。 実際、U+2028/2029を放り込むと文字列リテラル内にその文字が生のまま配置され、エラーが出るページは当にたくさんあります。まあ、エラーがでるだけなら、大抵の場合大きな問題にはなりません。 ところが、U+2028/2029によってXSSが引き起こされてしまう場合というのを最近実際に見ました。 Googleのサービスで見つけた2つのケースを取り上げたいと思います。 ケ

    n2s
    n2s 2013/09/17
    「正規表現は可能な限り厳密に書こう」ここでは具体的にどうするかは書いてありませんが、.を全部[\s\S]にしないといけないケースも出てくるんですかね…?
  • Text::VisualWidth::PP 0.02 がでていた - tokuhirom's blog

    Text::VisualWidth::PP 0.02 がでていた Text::VisualWidth::PP といえば、文字の幅が1文字幅か2文字幅かを判別してうまいことなにかやりたいときに便利なライブラリとして Perl 界では有名ですね。 このモジュール、もとはといえば mobirc を pure perl 化しようとしたときに Text::VisualWidth::XS の PP 版がなくてこまった!! っていう現象がおきたときに、つくったものなんですね。そんなモジュールが他でもつかわれるとは不思議なものです。 さて、そんな Text::VisualWidth::PP ですが、Songmu さんのブログで BEGIN { $Unicode::EastAsianWidth::EastAsian = 1; } をつかっていろいろがんばってる様子がのっておりまして、どうも、これは、楽をする

  • SYMBL (◕‿◕) Symbols, Emojis, Characters, Scripts, Alphabets, Hieroglyphs and the entire Unicode

    All images of emoji and characters on the website are for informational purposes, the rights belong to their authors and cannot be used for commercial purposes without their consent. All character names are official Unicode® names. Code points listed are part of the Unicode Standard. © SYMBL 2012—2025 Former Unicode Character Table

    SYMBL (◕‿◕) Symbols, Emojis, Characters, Scripts, Alphabets, Hieroglyphs and the entire Unicode
    n2s
    n2s 2013/06/10
  • javascript - でBMP以外のUnicode文字をきちんと扱う : 404 Blog Not Found

    2013年03月29日16:00 カテゴリTipsLightweight Languages javascript - でBMP以外のUnicode文字をきちんと扱う 文字コード「超」研究 深沢千尋 一肌脱ぐか。 dankogai/js-codepoints ・ GitHub Twitter時代の文字の数え方 | 配電盤正確には、「Unicode 3.1時代の文字の数え方」なのでしょうが、Unicodeの最新バージョンが6.0の今、それではぱっとしないのでSYNOPSIS log('𠮷野家'.length ); /* 4 // unfortunately */ log('𠮷野家'.codePointsOf() ); /* 3 // naturally */ log('𠮷野家'.codepoints ); /* 3 // naturally */ log(String.fromCode

    javascript - でBMP以外のUnicode文字をきちんと扱う : 404 Blog Not Found
  • 日本の文字とUnicode 第1回 | 大修館書店 WEB国語教室

    現代において、文字を書くということは、コンピュータやケータイのキーを打つことと、ほぼ同義になってきています。そして、現代のコンピュータにおいて文字を扱うためには、文字コード、それもUnicodeの助けを借りるしかなくなってきています。でも、Unicodeは日語に特化して作られたわけではないので、日の文字を扱おうとした場合、色々とヤヤコシイ点があったりします。それらのヤヤコシイ点を、できるだけ平易に説明するこのシリーズ、最初はASCII・Latin1とUnicodeの関係です。 Unicodeの最初の128文字(U+0000~U+007F、コード表参照)には、ASCIIという文字コードがそのまま収録されています。Unicodeは元々アメリカ生まれなので、アメリカでの標準的な文字コードであるASCII (American Standard Code for Information Inte

    n2s
    n2s 2012/10/12
    安岡孝一氏の連載