Unicode変換・ユニコードデコードツール

日本語、英数字、絵文字をUnicodeエスケープやコードポイントへ変換し、\uXXXX形式の文字列を元のテキストへデコードできます。ブラウザ内で使える無料のUnicode変換ツールです。

Unicode変換でよく使うエスケープ例

JSONログの\uXXXX文字列をデコードしたいとき、日本語や絵文字をUnicodeエスケープへ変換したいとき、または文字が1つのコードポイントかサロゲートペアかを確認したいときに使えます。

日本語・中国語テキストをUnicodeに変換

入力
你好
出力
\u4F60\u597D

APIログで非ASCII文字がJSON escapeとして保存されている場合の確認に便利です。

Emojiのコードポイント

入力
😊
出力
\uD83D\uDE0A

Emojiは基本多言語面の外にあることが多く、2つのサロゲートに分けるよりコードポイント形式の方が確認しやすいです。

Unicodeエスケープを文字にデコード

入力
\u4F60\u597D
出力
你好

ログからコピーしたエスケープ文字列を人が読める文字へ戻してから、元データを修正すべきか判断できます。

混在したAPIメッセージ

入力
status=成功 ✅
出力
\u0073\u0074\u0061\u0074\u0075\u0073\u003D\u6210\u529F\u0020\u2705

Webhook、ローカライズファイル、APIエラー文ではASCII、CJK、記号が混在しがちです。

Unicode変換・デコードの確認ポイント

  • デコード後もバックスラッシュが残る場合、文字列が二重にエスケープされている可能性があります。
  • emojiが2つの壊れた文字になる場合、元のシステムがサロゲートペアを分割して扱っています。
  • JSONの解析に失敗する場合、各エスケープが4桁の16進数か、U+1F60A のようなコードポイント表記かを確認してください。
  • ブラウザ表示とデータベース出力が違う場合、まずUnicodeコードポイントを比較し、その後UTF-8保存と照合順序を確認してください。

よくある質問

Unicodeとは何ですか?

Unicodeは、日本語、英語、記号、絵文字など世界中の文字に一意の番号(コードポイント)を割り当てる文字集合の標準です。例えば「A」は U+0041、「あ」は U+3042 のように表せます。

Unicode変換ツールでは何ができますか?

通常のテキストを\uXXXX形式のUnicodeエスケープへ変換し、逆にUnicodeエスケープを元の文字列へデコードできます。JSON、ログ、APIレスポンス、ソースコード中の日本語や絵文字確認に使えます。

ユニコードを文字に変換するには?

\u3042 のようなUnicodeエスケープ文字列を入力欄に貼り付け、「Unicodeを文字にデコード」を押すと元の文字へ戻せます。複数の\uXXXXが連続した文字列もまとめて変換できます。

Unicodeはどのように機能しますか?

Unicodeは各文字にコードポイントと呼ばれる固有の数値を割り当てます。これらのコードポイントは「U+XXXX」という形式で書かれ、「XXXX」は16進数です。例えば、文字「A」のコードポイントはU+0041です。

Unicodeブロックとは何ですか?

Unicodeは文字をスクリプトや用途に基づいてブロックに整理します。例えば、「Basic Latin」ブロックには英語で使用される文字が含まれ、「CJK統合漢字」ブロックには中国語、日本語、韓国語の文字が含まれています。

UTF-8とは何で、Unicodeとどのように関連していますか?

UTF-8はUnicode用の可変長文字エンコーディングです。各Unicode文字を1~4バイトでエンコードし、ASCIIキャラクタを主に使用するテキストに効率的で、すべてのUnicode文字をサポートします。

様々なプログラミング言語でテキストをUnicodeに変換する方法は?

以下に、様々なプログラミング言語でテキストをUnicodeに変換する例を示します。

Java

String text = "A";
String unicode = String.format("\\u%04x", (int) text.charAt(0));
System.out.println(unicode); // Output: \u0041

PHP

$text = "A";
$unicode = sprintf("\\u%04x", ord($text));
echo $unicode; // Output: \u0041

Go

package main
import "fmt"
func main() {
    text := "A"
    unicode := fmt.Sprintf("\\u%04x", text[0])
    fmt.Println(unicode) // Output: \u0041
}

JavaScript

const text = "A";
const unicode = "\\u" + text.charCodeAt(0).toString(16).padStart(4, "0");
console.log(unicode); // Output: \u0041

Python

text = "A"
unicode = f"\\u{ord(text):04x}"
print(unicode)  # Output: \u0041

Unicode変換と文字コード変換は同じですか?

厳密には異なります。このページは主に文字とUnicodeエスケープ、コードポイントの確認に使うツールです。ファイルのShift_JIS、EUC-JP、UTF-8などを変換したい場合は、文字コード変換ツールを使う方が適しています。

絵文字をUnicodeに変換できますか?

はい。絵文字は U+1F600 のようなコードポイントや、JavaScript/JSONでは\uD83D\uDE00 のようなサロゲートペアとして表されることがあります。表示が崩れる場合は、サロゲートペアが途中で分割されていないか確認してください。

Unicodeデコード後に文字化けする場合は?

Unicodeエスケープ自体が正しくても、元データの文字コード、二重エスケープ、JSONのクォート処理が原因で読めないことがあります。まず一度だけデコードし、まだ\uが残る場合は二重エスケープを疑ってください。