8

C には、16 進数 (またはバイナリ) 値を文字列に埋め込むことができるエスケープ シーケンスがありますか? このようなもの。

String str = "12345" + "\x0B" + "Some additional text";

Javaに同様の機能はありますか?

4

4 に答える 4

5

あなたが達成しようとしていることは明らかではありません。StringJavaの Aは、単なるUTF-16 コード単位のシーケンスです (通常、これは「一連の文字」を意味しますが、基本多言語面外の文字には 2 つの UTF-16 コード単位が必要です)。そこにもバイナリデータが必要な場合は、文字列を使用しないでください。

これで、Unicode 文字 U+000B (行集計) を\u000b- を使用して文字列に含めることができますが、それが実際に何をしたいのかを確認する必要があります。

実際にテキスト データとバイナリ データを混在させようとしている場合は、そうしないことをお勧めします。データが失われたり、正しく変換されなかったりするのは非常に簡単です。実際の要件を提供していただければ、より優れたソリューションを提供できる可能性があります。

于 2013-07-07T19:30:46.360 に答える
4

Java では、 を使用できますInteger.toString(int i, int radix)

16 進数の場合、これは

String str = "12345" + Integer.toString(0x0B, 16) + "Some additional text";
于 2013-07-07T19:30:04.537 に答える
1

Java では、StringsUnicode テキストです。任意のバイナリ データを埋め込むことはできません。必要に応じて、Unicode U+000B LINE TABULATION 文字を埋め込むことができます。

String str = "12345\u000BSome additional text";
于 2013-07-07T19:29:40.663 に答える