# Unicode Steuerzeichen von druckbaren Zeichen trennen



## Luma (20. Jun 2008)

Hej!
Ist es irgendwie möglich zu erkennen, ob eine gedrückte Taste ein druckbares Zeichen (z.B. A) hat oder nicht (z.B. Enter)?


----------



## Leroy42 (20. Jun 2008)

_Wo_ willst du das denn erkennen?

Ordne deiner Komponente ansonsten einfach einen
KeyListener zu


----------



## Luma (20. Jun 2008)

Genau, in einem KeyListener. Dort fange ich alle Ereignisse ab. Ein JTextField z.B. zeigt nur druckbare Zeichen. Drückt man Backslash dann wird ein Zeichen gelöscht etc. Ein ähnliches Verhalten versuche ich nachzubauen.


----------



## musiKk (21. Jun 2008)

Bei einem Backslash wird ein Zeichen geloescht? Seit wann denn das? :/


----------



## Ark (21. Jun 2008)

musiKk hat gesagt.:
			
		

> Bei einem Backslash wird ein Zeichen geloescht? Seit wann denn das? :/


Da meinte wohl jemand Backspace. 

Ark


----------



## Luma (21. Jun 2008)

Ark hat gesagt.:
			
		

> musiKk hat gesagt.:
> 
> 
> 
> ...


Ja.


----------



## Luma (21. Jun 2008)

Meine Idee ist es, den Tastencode abzufragen. Bei ASCII haben alle druckbaren Zeichen (mit Ausnahme DEL) einen Tastencode >= 20. Durch probieren hab ich nun eine recht einfache Lösung: Alle Zeichen mit einem Code <= 36 sind Steuerzeichen. Alles darüber druckbar. Das funktioniert aber nur recht bedingt. DEL z.B. hat den Code 127, die F-Tasten fangen bei 112 an.
Es muss doch aber noch irgendeine andere Lösung geben!?


----------



## Wildcard (22. Jun 2008)

Erklär uns doch für was du das haben möchtest, dann kann man vielleicht besser helfen...


----------



## Luma (22. Jun 2008)

Ich will in einem String alle abgefangnen und druckbaren Zeichen speichern. Jedoch nicht im Zusammenhang mit Swing, ich kann also kein JTextField oder sonst was verwenden.

Nun weiß ich bei einem KeyEvent nicht, ob es sich um ein druckbares oder um ein Steuerzeichen handelt (nochmal zu Erklärung: Druckbare Zeichen sind A, c, 7, {, Steuerzeichen STRG, ENTER, DEL).


----------



## Gast2 (23. Jun 2008)

Moin,



			
				Luma hat gesagt.:
			
		

> ... einen Tastencode >= 20. Durch probieren hab ich nun eine recht einfache Lösung: Alle Zeichen mit einem Code <= 36 sind Steuerzeichen ...



quark ... erstmal musst Du Dich entscheiden ob Du uns die Zahlen Dezimal oder Hexadezimal geben willst ... alle Zeichen kleines als 0x20 sind definitiv Steuerzeichen ... 0x20 (Hex) oder 32 (Dez) ist das Leerzeichen ... dazu kommen noch einzelne Zeichen die sonst wie missbraucht werden können ... interessanter Weise werden noch die gleichen Zeichen verwendet wie vor mehr als 20 Jahren

hast Du Wikipedia schon befragt?

hand, mogel


----------



## Luma (25. Jun 2008)

Hallo,
@mogel: Hab jetzt grad in Wikipedia unter UTF-8 gelesen, dass:


			
				Wikipedia hat gesagt.:
			
		

> In diesem Bereich (128 Zeichen) entspricht UTF-8 genau dem ASCII-Code: Das höchste Bit ist 0, die restliche 7-Bit-Kombination ist das ASCII-Zeichen.



Okay, danke für die Hilfe.


----------

