Ausgabe ASCII Zeichen

tanzverfuehrung

Bekanntes Mitglied
also ich sehe einfach grad nicht durch soll eigentlich ein anderes programm schreiben
also das dezimalzahlen in ascii zeichen dargestellt werden
aber rigendwie schon beim einfachsten programm zeigt er mir keine zeichen an sondern nur rechtecke oder fragezeichen!(zumindestens bei den zeichen die ich brauche!)

wie kann ich das noch anders darstellen?oder wieso sehe ich diese zeichen nicht?!

Java:
public class Ascii_umrechnung {

	/**
	 * Methode zur Umrechnung von Dezimalzahlen in Ascii Zeichen 
	 */

	public static void main(String[] args) {
		
		
		for(char i=0000; i<9900; i++)
			System.out.println(i+" "+((int)i));
	
		}
}


hoffe mir kann jemand weiter helfen!:shock:
irgendwie was mit /u0002 oder so gibt es ja auch aber ich finde da auch nicht wirklich ne ordentliche tabelle oder beispiele zu;(;(;:)noe:
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
wenn du keine ASCII-Tabelle (Achtung, Such-Stichwort!) im Internet findest, dann ist ja jede Hoffnung verloren,

zur Java-Ausgabe ist zu sagen, dass die typische Konsole in Entwicklungsumgebung oder Betriebssystem eben keine komplizierten Zeichen anzeigen kann sondern dann Rechtecke und Co. ausgibt,
das geht bei dir nicht und wenn es dich tröstet auch bei niemand sonst, dies ist keine Grundfunktion von Java sondern ein komplexes Thema
 
S

SlaterB

Gast
Vorsicht übrigens, 0000 ist == 0, aber 0010 ist nicht 5+5

Java:
public class Test
{
    public static void main(String[] args)
    {
        System.out.println(10 == 5 + 5);
        System.out.println(0010 == 5 + 5);
        System.out.println(0010 == 5 + 3);
    }
}
 

tanzverfuehrung

Bekanntes Mitglied
wenn du keine ASCII-Tabelle (Achtung, Such-Stichwort!) im Internet findest, dann ist ja jede Hoffnung verloren,

zur Java-Ausgabe ist zu sagen, dass die typische Konsole in Entwicklungsumgebung oder Betriebssystem eben keine komplizierten Zeichen anzeigen kann sondern dann Rechtecke und Co. ausgibt,
das geht bei dir nicht und wenn es dich tröstet auch bei niemand sonst, dies ist keine Grundfunktion von Java sondern ein komplexes Thema



klar finde ich ascii tabellen....und dass das bei allen ist kann ja sein aber irgendwie muss man das doch darstellen können oder nicht?:bahnhof::bahnhof::bahnhof:


also ich dachte das es irgendwie gehts weil auch die datei die es ausgeben soll...zeigt die zeichen nciht richtig an!;(???:L
 

tanzverfuehrung

Bekanntes Mitglied
Vorsicht übrigens, 0000 ist == 0, aber 0010 ist nicht 5+5

Java:
public class Test
{
    public static void main(String[] args)
    {
        System.out.println(10 == 5 + 5);
        System.out.println(0010 == 5 + 5);
        System.out.println(0010 == 5 + 3);
    }
}

was hat das mit meiner frage zutun!????:L???:L???:L???:L


und wieso ist :
System.out.println(0010 == 5 + 5);

false????:L

und wieso ist :
System.out.println(0010 == 5 + 3);
true????:L
 
S

SlaterB

Gast
hast du aus irgendeiner Quelle eine Textdatei oder ein Programm dass auf der Konsole derartiges ausgibt?
nein, denn soetwas gibt es nicht, genau wie du auf der Konsole keinen 10cm Kreis malen kannst,

Webseiten und Bilder sind hochstylische manuell zusammengebastelte Sonderbarkeiten

------

'übrigens' leitet gerade ein dass es nichts mit der Frage zu tun hat, nur ein Hinweis nebenbei,
eine führende 0 leitet in Java eine Octalzahl ein, keine führenden 0en schreiben
 

tanzverfuehrung

Bekanntes Mitglied
hast du aus irgendeiner Quelle eine Textdatei oder ein Programm dass auf der Konsole derartiges ausgibt?
nein, denn soetwas gibt es nicht, genau wie du auf der Konsole keinen 10cm Kreis malen kannst,

Webseiten und Bilder sind hochstylische manuell zusammengebastelte Sonderbarkeiten

------

'übrigens' leitet gerade ein dass es nichts mit der Frage zu tun hat, nur ein Hinweis nebenbei,
eine führende 0 leitet in Java eine Octalzahl ein, keine führenden 0en schreiben

und wie kriege ich zum beispielt
von den asci darstellungen ☺☻♥
die unicodes raus?
also /u????

das müsste mich doch weiter bringen oder nicht!?:bahnhof:???:L:eek:
 
S

SlaterB

Gast
etwas fähige als eine Konsole/ Text-Datei ist z.B. eine Swing-GUI mit JTextField/ JTextArea,
da kann es aber auch von im Betriebssystem installierten Schriftarten abhängen,

wenn du aber im Browser die lustigen Bilder siehst, dann könnte es was werden,
allzuviel kann ich dazu gar nicht sagen, aber um nicht nur zu meckern nun gleich noch ein ganzes Testprogramm:

Java:
public class TestGUI  extends JFrame {
    public TestGUI()  {
        JTextArea area = new JTextArea();
        JScrollPane sp = new JScrollPane(area);
        add(sp);
        for (int i = 9786; i < 9886; i++)  {
            area.append("i: " + i + "- " + (char)i + "\n");
        }
        setSize(450, 350);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    public static void main(String[] args) {
        new TestGUI();
    }
}
bei mir sieht es so aus wie im Anhang zu sehen, auch nicht alle Zeichen dargestellt,
die Rechtecke dort kann vielleicht auch ein Browser nicht,
oder nur von weiteren Einstellungen (andere Schriftart) abhängig

edit: ok, 9786 kann man auch auf der Konsole ausgeben und dann einen Smily sehen, zumindest bei mir,
der Wert ist nun wirklich keine Hürde

edit 2: so hohe char-Codes sind auch nicht wirklich mehr ASCII-Bereich? eher Unicode
 

Anhänge

  • screen1.png
    screen1.png
    8,4 KB · Aufrufe: 63
Zuletzt bearbeitet von einem Moderator:

tanzverfuehrung

Bekanntes Mitglied
gibt es nicht eine schriftart wo man alle ascii zeichen in eclipse sieht?!:bahnhof:???:L???:L???:L


☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼


;(ich brauche diese zeichen !!:rtfm::eek::eek::eek::noe:
 

XHelp

Top Contributor
Wozu willst du die in eclipse sehen?
Außerdem gehören die Zeichen doch gar nicht zu ascii.

P.S. Nach dem verschieben ergibt die Frage auch direkt mehr Sinn... dennoch musst du etwas ausführlicher beschreiben was du versuchst zu sagen.
 
Zuletzt bearbeitet:

tanzverfuehrung

Bekanntes Mitglied
Wozu willst du die in eclipse sehen?
Außerdem gehören die Zeichen doch gar nicht zu ascii.

P.S. Nach dem verschieben ergibt die Frage auch direkt mehr Sinn... dennoch musst du etwas ausführlicher beschreiben was du versuchst zu sagen.

ok also ausführlicher.:toll:
also ich will die empfangenden und gesendeten datein(RX/TX) in einer RCP application darstllen.
Erst wird es in Hexa Darstellung dargestellt und dann kommt die Ascii darstellung!
so das problem ist das ich nicht alle Ascii Zeichen sehe!

RCP APplication BEispiel:(Ausgabe)
2011.04.01 08:09:14.799
CommonDiff: 1013 SpecialDiff: 0
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ♰鞆鞇頩頰頧頤•隈蜨隉鞔銒頴頵☼
10 11 12 13 ►◄↕‼


???:L:bahnhof::eek:

eigentlich müsste da stehen:
2011.04.01 08:09:14.799
CommonDiff: 1013 SpecialDiff: 0
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ♰☺☻♥♦♣♠•◘○◙♂♀♪♫☼
10 11 12 13 ►◄↕‼



ich hatte soagr extra ne Klasse charMApper programmiert und trotzdem geht das nicht!

Java:
public class CharMapper {

	/**
	 * 
	 */
	public CharMapper() {}

	/**
	 * Liefert das AscII-Zeichen für das übergebene Byte
	 * @param b
	 * @return
	 */
	public static char getCharForByte(byte b) {
		switch (b) {
			case 0:	return '♰';
			case 1:	return '☺';
			case 2:	return '☻';
			case 3:	return '♥';
			case 4:	return '♦';
			case 5:	return '♣';
			case 6:	return '♠';
			case 7:	return '•';
			case 8:	return '◘';
			case 9:	return '○';
			case 10:return '◙';
			case 11:return '♂';
			case 12:return '♀';
			case 13:return '♪';
			case 14:return '♫';
			case 15:return '☼';
			case 16:return '►';
			case 17:return '◄';
			case 18:return '↕';
			case 19:return '‼';
			case 20:return '¶';
			case 21:return '§';
			case 22:return '▬';
			case 23:return '↨';
			case 24:return '↑';
			case 25:return '↓';
			case 26:return '→';
			case 27:return '�';
			case 28:return '∟';
			case 29:return '↔';
			case 30:return '▲';
			case 31:return '▼';
		}
		
		return (char)b;
	}
}



aber irgendwie muss das ja umsetzbar sein oder?!?!???:L
 
Zuletzt bearbeitet:

XHelp

Top Contributor
Wie kommst du denn darauf, dass:
1. die von dir geschriebenen komischen Zeichen überhaupt ASCII sind?
2. die Zuordnung genau so aussieht? Ascii Zeichen #10 steht für LineFeed, warum sollte es als denn plötzlich als Kreis dargestellt werden?
 

tanzverfuehrung

Bekanntes Mitglied
Wie kommst du denn darauf, dass:
1. die von dir geschriebenen komischen Zeichen überhaupt ASCII sind?
2. die Zuordnung genau so aussieht? Ascii Zeichen #10 steht für LineFeed, warum sollte es als denn plötzlich als Kreis dargestellt werden?


mir wurde das so erklärt das wenn ich alt drücke und dann die dezimalzahl das man dann das ascii zeichen sieht!
so habe ich das verstanden gehabt...!:bahnhof::rtfm:


ist das falsch ja?!???:L;(
 
G

Gast2

Gast
Es ist kein ASCII - PUNKT.

ASCII-Tabelle

Diese Zeichen von 00 bi 7F sind ASCII Zeichen. Alles andere ist kein ASCII sondern eine andere Zeichenkodierung, z.B. ISO-8859-1 oder Windows-1252

In welcher Kodierung es deine Symbole gibt und welchen Wert sie haben musst du dann suchen. Sieht mir doch sehr nach einem Windows Zeichen satz aus. (also irgendein Windows-XXXX).

Nochmal wichtig: Zeichenkodierung != Schriftart
 
G

Gast2

Gast
Noch mal langsam.

Die ASCII Zeichenkodierung beschreibt die Kodierung einer Zahl zu einem Zeichen. Sprich aus 0x48 wird 'H' und aus 0x71 wird 'q'. Das kannst du in der ASCII Tabelle nachschlagen.

ASCII definiert 128 Zeichen, von 0x00 bis 0x7F. Also soviel wie in ein byte gehn. Nicht mehr. Siehst du irgendwo in der Tabelle deine Smilies oder Dreiecke? Nein, das liegt daran das es vielleicht eine andere Zeichenkodierung gibt wo 0x4821 als '☺' und 0xA2E1 als '♫' definiert sind. Da aber 0x4821 nicht mehr ein Byte ist kann es schon mal kein ASCII sein. In der Regel sind die unteren 128 Zeichen von 0x00 bis 0x7F in jeder Kodierung immer gleich der ASCII Kodierung entsprechend kodiert. (Vorsicht: Gibt bestimmt auch da Ausnahmen). Da liegt es jetzt an dir rauszufinden von welcher Kodierung du ausgehst.

Möglichkeiten gibt es da viele:
UTF8, Windows-XXXX, ISO-XXXX-X usw. Das muss dir derjenige der dir die Aufgabe gestellt hat beantworten können oder zumindest einen Hinweis geben wo du das findest.

Klar soweit?
 
Zuletzt bearbeitet von einem Moderator:

tanzverfuehrung

Bekanntes Mitglied
Noch mal langsam.

Die ASCII Zeichenkodierung beschreibt die Kodierung einer Zahl zu einem Zeichen. Sprich aus 0x48 wird 'H' und aus 0x71 wird 'q'. Das kannst du in der ASCII Tabelle nachschlagen.

ASCII definiert 128 Zeichen, von 0x00 bis 0x7F. Also soviel wie in ein byte gehn. Nicht mehr. Siehst du irgendwo in der Tabelle deine Smilies oder Dreiecke? Nein, das liegt daran das es vielleicht eine andere Zeichenkodierung gibt wo 0x4821 als '☺' und 0xA2E1 als '♫' definiert sind. Da aber 0x4821 nicht mehr ein Byte ist kann es schon mal kein ASCII sein. In der Regel sind die unteren 128 Zeichen von 0x00 bis 0x7F in jeder Kodierung immer gleich der ASCII Kodierung entsprechend kodiert. (Vorsicht: Gibt bestimmt auch da Ausnahmen). Da liegt es jetzt an dir rauszufinden von welcher Kodierung du ausgehst.

Möglichkeiten gibt es da viele:
UTF8, Windows-XXXX, ISO-XXXX-X usw. Das muss dir derjenige der dir die Aufgabe gestellt hat beantworten können oder zumindest einen Hinweis geben wo du das findest.

Klar soweit?

Gesamtbersicht der bibliothekarischen Zeichenstze


das ist doch jetzt die richtige tabelle oder nicht?!:rtfm:???:L:toll:

Zeichentabelle CP850 (DOS Latin 1)

hier ist auch nochwas....

aber wie binde ich das jetzt in mein programm ein?!
???:L???:L:autsch::(
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben