Zusammengesetztes Unicode

Salo

Aktives Mitglied
Hallo,

Ich versuch mich gerade an einem kleinem Programm.
Dazu brauch ich in einer Text datei Unicodes, welche dann das Programm ausliest.

Ich habe, um die unicode zeichen in die datei zu schreiben ein kleines zusatzprogramm gaschrieben, das die unicode zeichen in die datei schreibt. Aber da es ziemlich mühsam ist, 160 zeichen nacheinander manuell in das programm zu schreiben, wollte ich zwei schleifen machen, die die letzten 2 zeichen des unicodes angeben("\u123A" hier die 3 und das A);

ich hab es mit:
Java:
String[] stelle3,stelle4:
String unicode ="\u12";

stelle3 = new String[10];
stelle4 = new String[16];

stelle3[2] = "3";
stelle4[10] = "A";

unicode += stelle3[2];
unicode += stelle4[10];

System.out.println(unicode);
Das hat natürlich nicht funktioniert.
schon allein weil "\u12" nicht gültig ist.

Kann ich also irgendwie den unicode string aus mehreren strings zusammensetzen.
 

Robat

Top Contributor
Nicht ganz sicher ob das klappt, aber hast du schon mal über einen StringBuilder nachgedacht?
Da könntest du ja theor. dein "\", "u", "1", "2" anhängen und dann jeweils in deiner for-Schleife (oder was auch immer du nimmst) die letzten Zeichen anhängen.
 

Salo

Aktives Mitglied
Nein das funktioniert auch nicht, da "\" nicht funktioniert. Mit "\\" ergibt es jedoch kein unicode.

Hasst du villeicht noch ne andre idee, oder weiß jemand anderes raat?
Ewäre auch okay wenn mir jemand bestätigt das das nicht funktioniert, dann müsst ich nicht noch länger vergeblich suchen.;)
 

InfectedBytes

Top Contributor
Soll in deiner Datei zum Schluss \u123A stehen oder das entsprechende Zeichen mit diesem Wert. Falls letzteres so kannst du einfach mit dem char rechnen:
Java:
for(char c = 0x123A; c < 0x123A + 160; c++) {
  // c in die Datei schreiben
}
 

Salo

Aktives Mitglied
Kanst du die schleife bitte etwas genauer erklären?

warum ist c 0x123A?
warum muss c < 0x123A+160 (warum 160?)
was dann vielleicht/wahrscheinlich selbsterklärend ist:
was hat c++ zur folge?

Sorry das ich so doof frag, aber mit sowas kenn ich mich (noch) nicht so gut aus, und auserdem will ich verstehen was in meinem code steht, und nicht alles nur blind übernehmen.;)
 

InfectedBytes

Top Contributor
123A war eben dein Beispiel unicode wert. Daher fängt die Schleife mit diesem Wert an. Das 0x muss jedoch davor gestellt werden, damit Java auch erkennt das es sich um eine hexadezimal Zahl handelt. Die +160 weil du in deinem Post geschrieben hast das du die nächsten 160 Unicode Zeichen ausgeben willst (zumindest hab ich deinen Post so interpretiert^^). c++ erhöht den Wert von c um eins
 

Kababär

Top Contributor
Hast du mal das versucht?

Code:
int c = 0xDEINE_NUMMER;
String s = Character.toString((char) c);

Schreibe am Handy, ist deswegen bisschen doof.
 

Salo

Aktives Mitglied
123A war eben dein Beispiel unicode wert. Daher fängt die Schleife mit diesem Wert an. Das 0x muss jedoch davor gestellt werden, damit Java auch erkennt das es sich um eine hexadezimal Zahl handelt. Die +160 weil du in deinem Post geschrieben hast das du die nächsten 160 Unicode Zeichen ausgeben willst (zumindest hab ich deinen Post so interpretiert^^). c++ erhöht den Wert von c um eins

Und wenn ich anstatt \u123A \u1200 nehme, und immernoch 160 hab, werden dann die zeichen von \u1200 bis \u129F in die datei geschrieben??
 

Salo

Aktives Mitglied
Und warum nicht von \u1200 bis \u12F9?
Müsste ich das dann anders schreiben/programmieren?

Aber schonmal vielen dank für deine bisherigen antworten.:)
 

sascha-sphw

Top Contributor
Und wenn ich anstatt \u123A \u1200 nehme, und immernoch 160 hab, werden dann die zeichen von \u1200 bis \u129F in die datei geschrieben??
Nein. 160 Dezimal ist A0 Hexadezimal, d.h. 0x1200 + 160 = 0x12A0.

Und warum nicht von \u1200 bis \u12F9?
Wenn du von 0x1200 - 0x12F9 möchtest musst Du 0xF9 Schritte gehen, also 249 Dezimal.

BTW: Die letzte Zahl vor 0x1300 ist 0x12FF, falls Du Dich von der 9 im Hex System irritieren lassen hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Unicode im Hexadezimalsystem Java Basics - Anfänger-Themen 1
A Input/Output Input eingabe in unicode übersetzen Java Basics - Anfänger-Themen 3
F charAt-Methode liefert falsche Unicode-Werte Java Basics - Anfänger-Themen 8
U Unicode - ? Java Basics - Anfänger-Themen 3
P Zahlen als Unicode darstellen Java Basics - Anfänger-Themen 2
F Unicode beim Lesen und Schreiben per java.io.* Java Basics - Anfänger-Themen 9
0 "Invalid Unicode" Java Basics - Anfänger-Themen 2
M Import Unicode Textfile Java Basics - Anfänger-Themen 10
A Unicode Java Basics - Anfänger-Themen 3
K Java String UNICODE in DB UTF-8 Feld einfügen Java Basics - Anfänger-Themen 3
kulturfenster Char und Unicode Java Basics - Anfänger-Themen 2
J Unicode-Textdatei lesen Java Basics - Anfänger-Themen 7
H short in unicode umwandeln Java Basics - Anfänger-Themen 5
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G ASCII -> Unicode ? Java Basics - Anfänger-Themen 5
R Problem bei Ausgabe von Unicode-Zeichen Java Basics - Anfänger-Themen 6
B Unicode Java Basics - Anfänger-Themen 2
G Aus int das unicode char zeichen lesen Java Basics - Anfänger-Themen 3
D Unicode für mathematische/statistische Zeichen. Java Basics - Anfänger-Themen 3
T Textdateien mit Unicode-Zeichen kopieren Java Basics - Anfänger-Themen 2
saxman Unicode aus Textdatei einlesen und wieder abspeichern Java Basics - Anfänger-Themen 13
D Unicode in Html Java Basics - Anfänger-Themen 4
I Probleme mit String Byte[] und Unicode Java Basics - Anfänger-Themen 15
R Unicode ausgeben: für b "u0062" ausgeben Java Basics - Anfänger-Themen 5
I Zahlen in Unicode konvertieren Java Basics - Anfänger-Themen 37
G mit Strings rechnen (Unicode) Java Basics - Anfänger-Themen 15
M Buchstabe zu Unicode Java Basics - Anfänger-Themen 3
M Byte InputStream zu Zeichenformat Unicode bzw String konvert Java Basics - Anfänger-Themen 5
S HTML Sonderzeichen in Unicode wandeln Java Basics - Anfänger-Themen 5
T Unicode StringBuffer -> String = unleserlich Java Basics - Anfänger-Themen 7
S HTML mit num. Unicode Notation (was:Probleme bei Encoding) Java Basics - Anfänger-Themen 7
G Unicode in Java Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben