在C存在,可以讓你嵌入一個十六進制(或二進制)值轉換成字符串轉義序列?像這樣的東西。把十六進制(或二進制)數據轉換成Java字符串
String str = "12345" + "\x0B" + "Some additional text";
Java中是否有類似的函數?
在C存在,可以讓你嵌入一個十六進制(或二進制)值轉換成字符串轉義序列?像這樣的東西。把十六進制(或二進制)數據轉換成Java字符串
String str = "12345" + "\x0B" + "Some additional text";
Java中是否有類似的函數?
目前尚不清楚你想要達到的目標。 Java中的String
是只是 UTF-16代碼單元序列(其中通常是表示「字符序列」,但Basic Multilingual Plane之外的字符需要兩個UTF-16代碼單元)。如果您還需要二進制數據,則不應使用字符串。
現在,您可以使用\u000b
在字符串中包含Unicode字符U + 000B(行表製表符) - 但您需要確保這實際上是您想要執行的操作。
如果你實際上試圖混合文本數據和二進制數據,我會鼓勵你不這樣做 - 這是非常容易丟失數據或嚴重轉換。如果您提供您的實際需求,我們可能會幫助您提出更好的解決方案。
在Java中,Strings
是Unicode文本。他們不能嵌入任意的二進制數據。如果你願意,你可以儘管嵌入Unicode的U + 000B LINE TABULATION字符:
String str = "12345\u000BSome additional text";
在Java中,你可以使用Integer.toString(int i, int radix)
。
十六進制,這是
String str = "12345" + Integer.toString(0x0B, 16) + "Some additional text";
嗨喬恩:我接受你不應該二進制嵌入到Java String和熟悉什麼問題也可以從嵌入式系統30年++編程引起,但在這種情況下,它會是一個方便的解決方案。我就重寫代碼文件當作帶有嵌入式ASCII字符的二進制文件 - 喬 –
@JoeCullity抱歉,說你有「30年++的[經驗]」鑑於你問一個聽起來很幼稚基本的問題,你似乎並不明白「只使用'\ u000b'」的基本答案。你做事的年數並不會讓你看起來更聰明:) –