Unicode

  • Themenstarter Themenstarter blub85
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

blub85

Gast
Hallo!

Wir haben folgende Aufgabe zu lösen:

Es soll eine Klasse namens Words erstellt werden, mit deren Hilfe Informationen zu den Wörtern in Texten ermittelt werden können. Die Texte enthalten beliebige Unicode-Zeichen im Bereich zwischen \u0000 bis \u007E . Als Worttrenner dienen ausschließlich die folgenden Zeichen: das Leerzeichen \u0020, das Tabulatorzeichen \t, die Zeilenschaltung \n und der Seitenumbruch \f. Die Wörter zu einem Text erhält man also, indem man den Text an allen Worttrennern zerlegt. Dabei sollen keinen leeren Wörter entstehen, wenn mehr als zwei Worttrenner aufeinanderfolgen.

Ich habe dazu, bzw. über den UniCode folgende Fragen:

1)

Der Text enthält Zeichen zwischen "\u0000 bis \u007E".

Versuch ich beisielsweise:

Code:
char blub = '\u0000';
System.out.println((char) blub);

Zeigt er mir kein reguläres zeichen an, sondern so eine Art Quadrat. Liegt der Fehler an mir, oder ist das am Schluss sogar das Zeichen, das man mit \u0000 ansprechen kann ??

2)

Wenn ich nun den Text durchgehe (beispielsweise mit text.charAt(i) und ner for-schleife auf i), wie kann ich dann überprüfen ob er einen Zeilensprung drinnen hat ?? Das leerzeichen hat ja "einen Index zum Ansprechen", nämlich }\u0020. Wie kann ich die andern aufgezählten Sachen (\t, \n und \f) "erkennen"?

Vielen Dank für Euer Bemühen!!
 
Zu 1:

Am besten du schnappst dir eine Übersicht, wie z.B.: http://unicode.org/charts/PDF/U0000.pdf, dort sind alle von dir zu nutzenden Zeichen enthalten. Da kannst du dann schauen, ob dein Ergebnis stimmt.

Bei \u0000 handelt es sich um ein Steuerzeichen, daher die "merkwürdige" Darstellung.

Zu2:
Auch auch Tabulator, Newline etc. lassen sind in Unicode als Steuerzeichen enthalten. Sind auch in der oben genannten Übersicht zu finden.

Hoffe, das hilft.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben