テキスト - ASCII/Unicodeコード変換ツール

テキストを10進数の文字コードのリストに変換し、逆変換もできます — 7ビットASCIIだけでなく、Unicode全体をカバーします。

1,066回閲覧

仕組み

入力したすべての文字は1つずつ処理され、そのUnicodeコードポイントに変換されます — これは、最初の128個の値(0から127まで)が元のASCIIテーブルと同じ番号体系です。この範囲の中で、コード32から126は印字可能なブロックを構成します。文字、数字、句読点、そして空白文字です。コード0から31は制御文字で、テレタイプ端末やタイプライターから受け継がれた歴史的な層であり、文字を印字するのではなく印字ヘッドや紙を動かすために特定のコードが使われていました — コード13(キャリッジリターン)は印字ヘッドを行の先頭に戻し、コード10(ラインフィード)は紙を1行分送りました。この分裂こそが、異なるオペレーティングシステム上のプレーンテキストファイルが今でも行末の保存方法について食い違う理由です。

例:「Hi!」と入力すると、コードのリスト72, 105, 33が得られます — 大文字のHは72、小文字のiは105、感嘆符は33で、すべて印字可能な32から126の範囲内にあります。このリストをデコーダーに貼り付けると、「Hi!」が1文字ずつ正確に再構築されます。

このツールが教科書的なASCIIテーブルを超える部分は、128以上のコードです。この上位の範囲は、非公式に「拡張ASCII」と呼ばれますが、標準化されたことは一度もありません。異なるベンダーや地域が異なる256値のコードページを構築し、同じバイトに異なるグリフを割り当てていました。あるトルコ語のコードページで「ğ」を意味するバイトが、別のシステムのコードページではまったく異なる文字を意味したり、そもそも印字可能な文字を意味しなかったりすることがありました。この不整合こそが、UTF-8と完全なUnicodeコードポイントが解決しようとした問題そのものです。文字ごとに1バイトでコードページに依存した意味を持たせる代わりに、すべての文字にどこでも同じ意味を持つ安定した数値の識別子を与えるのです。この変換ツールが各文字を1バイトに切り詰めるのではなく完全なUnicodeコードポイントとしてエンコードするのはこのためであり、ğ、ş、ı、ö、ü、çといったトルコ語の文字や絵文字もすべて確実に変換されます。

知っておくべきこと

  • 印字可能な範囲:コード32から126は、どのシステムでも常に目に見える文字に対応します。それ以外のコードを正しく解釈するには文脈(フォント、コードページ、または完全なUnicode)が必要です。
  • 制御コードにはグリフがありません:0から31(または127、DEL)の値をテキストにデコードしても、印字可能な文字は表示されません — これらのコードはそもそも表示されることを意図していないため、これはエラーではなく想定どおりの動作です。
  • バイト255を超えて:Unicodeコードポイントは古い256値という上限をはるかに超えて広がっています — 例えば絵文字は10万台のコードポイントに存在します — このツールは1バイト分だけでなく、その全範囲を扱います。
  • 可逆な往復変換:エンコードしてからデコードすると、各コードポイントが1つの文字に対応し、近似も圧縮も行われないため、常に元のテキストが正確に返されます。
  • すべてブラウザ内で完結します:テキストはどこにも送信されないため、デバッグのために機密性の高い文字列、トークン、パスワードを変換しても安全です。

よくある質問

これは本当にASCIIですか、それとも何か違うものですか?

本来の7ビットASCIIはコード0~127のみをカバーします(英字、数字、基本的な記号)。このツールは同じ考え方を使いながら完全なUnicodeコードポイントまで拡張しているため、日本語の文字や絵文字も壊れることなく正しく変換されます。

コードリストにはどんな区切り文字が使われますか?

デフォルトではカンマの後にスペースが付きますが、デコーダーは単純なスペースや改行で区切られたコードも受け付けます。

コード10とコード13の違いは何ですか?

どちらも歴史的な行末の制御文字です。コード10は「ラインフィード」(1行下に移動)、コード13は「キャリッジリターン」(行の先頭に移動)です。Unixは LF のみを使用し、従来のMacは CR のみを使用し、Windowsは両方を組み合わせて使用します(CRLF)— この分裂は、物理的なテレタイプ端末のハードウェアに直接由来しています。

127を超えるコードが他のツールでは違って見えるのはなぜですか?

その範囲は標準化されたことが一度もないためです。各ベンダーの「拡張ASCII」コードページは、バイト128から255に独自のグリフを割り当てていたため、同じバイト値がシステムによって異なる文字にデコードされることがあります。このツールは、固定された256値のテーブルではなく完全なUnicodeで動作することにより、この問題を完全に回避しています。

絵文字やその他のマルチバイト文字を扱えますか?

はい — 絵文字や多くの他の記号は255をはるかに超えるコードポイントに存在し、このツールはそれぞれを完全な10進数のUnicode値に変換します(旗の絵文字のように、実際には2つのコードポイントから構成される絵文字もあり、その場合はリストに2つの別々の数値として表示されます)。

コメント

まだコメントはありません — 最初のコメントを書いてみましょう!

関連ツール