Unicodeエスケープシーケンス エンコード/デコードツール

Unicodeエスケープシーケンス対象となる文字列を入れて実行してください。

エンコード/デコードしたい文字列
エンコード/デコードされた文字列

エンコード/デコードツールの一覧

Unicodeエスケープシーケンスについて

Unicodeエスケープシーケンスとは、Unicode1文字を \uXXXX のような限られた文字で表記出来るようにした表現形式の事を言います。
※ XXXX には正確には0123456789ABCDEF(abcdef)の16文字が4桁入ります

上のツールでは、このUnicodeエスケープシーケンスで表現された情報を、実際の文字に変換(デコード)したり、又は実際の文字をエンコードしてUnicodeエスケープシーケンス化された文字列にするためのツールです。

Unicode文字を直接扱う事が難しい処理系でこのような変換が行われています。
よく目にとまる機会があるのは Javascriptで扱うデータ形式(JSON)ですね。
こういった処理系の場合に、人間がすぐに理解できる内容になっていないので、上のような変換ツールが役に立ちます。

Unicodeについて

ここからは技術的なお話です。

Unicodeとは文字コードの1つです。

文字コードについて

文字コードとは、コンピューター上で文字を扱うために、数値化したものです。
古くは EBCDICコード、ASCIIコードという文字コード体系がありました(今でもあります)。

EBCDICコード

IBMが策定したもので主に汎用機に使われています。8bitで表されます。例えばAは 0xC0という数字。

ASCIIコード

アメリカで策定された、アルファベットを扱うためのもので、7bitで表されます。例えばAは0x41という数字。

日本における文字コード体系

日本においてもASCIIコード同様、いくつかの文字コードが定められました。

JISコード

ASCIIコードを拡張したもので、カタカナを扱うのであれば8bitと 1bit拡張したもので定義される体系があります。

漢字を扱ったり、いにしえの電子メールのように ASCIIコードを扱う想定で作られたプロトコルに対応するため、 7bitのままシフトコードと呼ばれる制御用文字コードを付加して、7bit+7bitの組み合わせで漢字を表現できるようにしたものです。

ShiftJISコード

JISコードはシフトコードというものがあり扱いが面倒なため、各コンピューターメーカーは独自にコード体系を開発しました。とはいえイチから作ると大変ですから、JISコードをベースとしたものですが。

16bitのコード体系ですから、全ての漢字を扱えるようになり、余ったコードにはメーカー独自の記号(罫線や絵文字など)を入れる、というようなものです。
これはこれでややこしいですが、力関係もあり、やがてMicrosoftが策定したものをベースに統合されたShift-JISコードというものが文字コード体系が生まれました。

EUCコード

UNIX界隈ではASCII文字を採用していましたが、それだけでは各国の文字を扱えないという理由で EUCコードというものが策定されました。JISコードからShiftJISコードへと拡張していったように、日本語EUC、韓国語EUC、というように各国それぞれのEUCコードというものが生まれるようになりました。

乱立する文字コード

このように一言で文字をコンピューター上で扱うにしても、さまざな文字コード体系が存在、乱立するようになりました。

文字情報をそのコンピューター上で扱うだけであれば問題にはなりませんが、情報ですから当然あちこち受け渡し活用するのが自然な流れ。
そのたびに文字コードの交換を行う必要がでましたが、それはもう面倒な作業です。文字コードと文字コードの組み合わせごとに変換処理を組まないといけませんから。
ShiftJISとEUC_JPのようなものであれば比較的簡単です。一部例外を除いて変換法則が決まっていますから、数式を使えばすぐ解決します。
でもASCIIコードとEBCDICの場合は一貫性がありませんから、変換テーブルと呼ばれる対応表を作って変換を行わないといけません。もっともこの場合は7bitで済みますから扱うテーブルも小さく大した問題にはなりませんでしたが。
※この後出てくるUnicodeとレガシーナコード(JIS、ShiftJIS,EUC_JP)との対比は本当に大変です。コードに一貫性がないため膨大な変換テーブルが必要ですから、ライブラリーに頼るしかありません。

Unicodeで文字コードを統一

文字コード変換に辟易したエンジニアたちは立ち上がりました。そうだ、統一した文字コード体系を作ればいいんだ、と。
そこで策定されたのがUnicodeという文字コード体系です。

実際、Unicodeという文字コード体系を使えば、全世界の文字を同じコード体系で扱えるというものですから、便利なものです。

とはいえ、この統一作業にはかなりの時間を要しました。

Unicodeが最初に制定されたのが1991年ですが、既に使われている文字コード体系を変えるためにはシステムの見直しが必要ですから、なかなかすんなりとUnicodeに切り替わる事はありません。

またUnicodeを策定した人の全てが言語に精通した人ばかりではありませんでしたから、コード体系も不十分でした。
最初は16bitで作られましたが、全世界の言語を扱うのに65536文字で足りるはずもありません。

日本語の「新聞」と中国語の「新闻」、「聞」という単語が同じでいいでしょう、という話もあったり。当然両国からは猛反発になりますが、漢字を知らない国の人からそうると似てるからいいじゃない、それより限られたbit数で何とか収めようよ、という意見になったり。

なかなか思うようには進みませんでした。

個人的な感覚では、2010年代に入ってからやっとUnicodeが一般的に使われ始めたのではないかと思っています。