2013-07-07 9 views

Odpowiedz

5

Nie jest jasne, co próbujesz osiągnąć. A String w języku Java to tylko sekwencja jednostek kodowych UTF-16 (która zwykle zwykle oznacza "sekwencję znaków", ale znaki spoza Basic Multilingual Plane wymagają dwóch jednostek kodowych UTF-16). Jeśli potrzebujesz tam również danych binarnych, nie powinieneś używać ciągu znaków.

Teraz możesz dodać znak Unicode U + 000B (tabulacja linii) w ciągu znaków, używając \u000b - ale musisz się upewnić, że to właśnie chcesz zrobić.

Jeśli faktycznie próbuje mieszać dane tekstowe i dane binarne, to zachęcam, aby nie zrobić - to bardzo łatwo utracić dane lub przekształcić go źle. Jeśli podasz swoje rzeczywiste wymagania, być może będziemy mogli pomóc Ci znaleźć o wiele lepsze rozwiązanie.

+0

Cześć Jon: Przyjmę do wiadomości, że nie powinno się osadzać Binary w Stringie Javy i dobrze wiadomo, jakie problemy mogą powodować od 30 lat ++ programowania systemów wbudowanych, ale w tym przypadku byłoby to wygodne rozwiązanie. Po prostu przepisam kod, aby traktować plik jako plik binarny z osadzonymi znakami ASCII - Joe –

+0

@JoeCullity Niestety, ale mówienie, że masz "30 lat ++ [doświadczenia]" brzmi dość dziecinnie, biorąc pod uwagę fakt, że pytasz podstawowe pytanie i nie wydaje się, że zrozumiałeś podstawową odpowiedź "po prostu użyj' \ u000b ". Liczba lat, które robisz, nie sprawia, że ​​wydajesz się mądrzejszy :) –

1

W języku Java, Strings są tekstem w kodzie Unicode. Nie mogą osadzać dowolnych danych binarnych. Jeśli chcesz, można osadzić LINE tabelaryczne znak Unicode U + 000B choć:

String str = "12345\u000BSome additional text"; 
Powiązane problemy