100% ローカル — データがブラウザの外に出ることはありません

Javaエスケープ|ASCIIだけのソースでも安全に置けます

テキストをJavaの文字列リテラル用に逃がします。ASCII以外の文字はすべて \uXXXX になるので、ASCIIしか置けないソースや .properties でも壊れません。

高速 プライベート Cookieゼロ

Text 入力

Java Escaped 出力

このツールの動作

Javaの String リテラル向けにテキストをエスケープします。JavaScript用やC#用のエスケープツールと決定的に異なる点が1つあります。~(U+007E)を超える文字はすべて \uXXXX として書かれます。

  • バックスラッシュは二重化されます。
  • " はエスケープされ、' はされません。Javaにシングルクォートの文字列がないためです。
  • 改行、復帰、タブ、後退、改ページはそれぞれ \n、\r、\t、\b、\f になります。
  • 制御文字と非ASCII文字はすべて \uXXXX になり、基本多言語面の外の文字はサロゲートペアとして書かれます。

こんなときに使います

エンコーディングを自分で管理できない .java ファイルにテキストを貼り付けるとき、そして何より .properties ファイルに貼り付けるときです。後者はISO-8859-1として仕様が定められており、アクセント記号や漢字を通す移植性のある方法は \uXXXX しかありません。

このツールがしないこと

ASCIIのみの出力は、設計上どうしても冗長になります。現代的なUTF-8のソースファイルが対象で、人がまだ読めるリテラルが欲しいのであれば、JavaScript用のエスケープツールは非ASCII文字をそのまま残し、ここで問題になるそれ以外の点については同じ結果を返します。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

アクセント付き文字がなぜ \uXXXX になるのですか?
それがこのエスケープツールの目的です。Javaのソースや.propertiesファイルは歴史的にISO-8859-1またはASCIIとして読まれるため、é は \u00e9 と書いてファイルのエンコーディングによらず内容を保ちます。Javaコンパイラが解析前に復号します。
絵文字はどうなりますか?
サロゲートペアになります。😀 は \ud83d\ude00 と書かれます。これはUTF-16コード単位を保持するJavaのStringにおける、その文字の実際の格納形式そのものです。
シングルクォートはエスケープされますか?
いいえ。Javaにシングルクォートの文字列はありません。' はchar型リテラルを区切るものであってStringではないため、文字列内でエスケープする必要はありません。エスケープされるのはダブルクォートだけです。

関連ツール