2013-07-07 38 views

回答

5

目前尚不清楚你想要達到的目標。 Java中的String只是 UTF-16代碼單元序列(其中通常是表示「字符序列」,但Basic Multilingual Plane之外的字符需要兩個UTF-16代碼單元)。如果您還需要二進制數據,則不應使用字符串。

現在,您可以使用\u000b在字符串中包含Unicode字符U + 000B(行表製表符) - 但您需要確保這實際上是您想要執行的操作。

如果你實際上試圖混合文本數據和二進制數據,我會鼓勵你不這樣做 - 這是非常容易丟失數據或嚴重轉換。如果您提供您的實際需求,我們可能會幫助您提出更好的解決方案。

+0

嗨喬恩:我接受你不應該二進制嵌入到Java String和熟悉什麼問題也可以從嵌入式系統30年++編程引起,但在這種情況下,它會是一個方便的解決方案。我就重寫代碼文件當作帶有嵌入式ASCII字符的二進制文件 - 喬 –

+0

@JoeCullity抱歉,說你有「30年++的[經驗]」鑑於你問一個聽起來很幼稚基本的問題,你似乎並不明白「只使用'\ u000b'」的基本答案。你做事的年數並不會讓你看起來更聰明:) –

1

在Java中,Strings是Unicode文本。他們不能嵌入任意的二進制數據。如果你願意,你可以儘管嵌入Unicode的U + 000B LINE TABULATION字符:

String str = "12345\u000BSome additional text"; 
相關問題