Forum: PC Hard- und Software Excel: chinesischen Zeichensatz (GB2312) entcodieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Markus (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe die Aufgabe eine Firmware um die chinesische Übersetzung zu 
erweitern. Ein Zeichengenerator der u.a. den Zeichensatz GB2312 
unterstützt ist in Hardware vorhanden.
Ich habe von unserem Übersetzer eine Exceltabelle mit den chinesischen 
Texten bekommen (sh. Screenshot).
Wie kann ich nun in Excel für die chinesischen Zeichen den jeweiligen 
Code  (den ich ja an den Zeichengenerator senden muss) anzeigen ?

Vielen Dank,
Markus

von Roland P. (pram)


Bewertung
0 lesenswert
nicht lesenswert
Du kannst mit der CODE bzw UNICODE Funktion einzelne Zeichen als  Code 
ausgeben

https://support.office.com/de-de/article/code-funktion-c32b692b-2ed0-4a04-bdd9-75640144b928

https://support.office.com/de-de/article/unicode-funktion-adb74aaa-a2a5-4dde-aff6-966e4e81f16f

Ich würde mir 2-3 weitere Spalten machen, welche die einzelnen Zeichen 
dann umgewandelt anzeigen

Edit: ob der Cde aber dann dem entspricht, was der Zeichengenerator 
erwartet, weiß ich nicht

: Bearbeitet durch User
von Der Andere (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Warum willst du die anzeigen?
Kann man nicht in Excel die Spalte im passenden Zeichensatz in eine 
Datei exportieren und dann mit einem kleinen Programm diese Daten an den 
Generator senden?
Ist doch einfacher als anzeigen und dann? Abtippen? Copy & paste?

von pegel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft diese Tabelle:

https://www.fileformat.info/info/charset/GB2312/list.htm

Wie ist der Unicode für die Zeichen im Bild?

von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke für die bisherigen Antworten.
Es scheint mir so zu sein, als wenn die Zeichen in der Excel-Tabelle 
entweder nicht aus dem Zeichensatz GB2312 sind oder nicht in Unicode 
codiert sind.
Die beiden Zeichen hinter dem Wort "Chinesisch" in der ersten Zeile 
liefern mir die Unicodes 20013 (0x4ed2) und 25991 (0x6587). Mein 
Zeichengenerator (Genitop GT30L24A3W) erwartet Codes im Bereich 0xa100 
bis 0xf700).

Ich kann die Zeichen der Exceltabelle auch nicht im Zeichensatz finden 
(wobei man die natürlich beim manuellen suchen auch leicht übersehen 
kann).

von pegel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
https://www.fileformat.info/info/unicode/char/6587/index.htm
https://www.fileformat.info/info/unicode/char/4e2d/index.htm

Von deinem Zahlendreher abgesehen, durch eine Rückwärtssuche auf der 
Seite findet man deine Zeichen.

von pegel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Unter "More..." gibt es weitere Informationen zu Charset und Code Page 
wo das Zeichen auftaucht.

von pegel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die enthaltenen Zeichensätze und das Datenblatt für deinen Chip gibt es 
hier:

http://www.genitop.com/Products/indexlist_GT30L24A3W.html

von Markus (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
pegel schrieb:
> Unter "More..." gibt es weitere Informationen zu Charset und Code
> Page
> wo das Zeichen auftaucht.

ok, so komme ich weiter:
"4e2d" wird zu "d6d0", und damit kann ich das Zeichen auch ausgeben
(Datenblatt des Controllers ist vorhanden (sogar auf englisch :-) ).

Gut wäre jetzt noch ein "Tool", oder halt eine Tabelle, die mir diese 
Umsetzung macht (also z.B. von "4e2d" zu "d6d0"). Gibt es sowas (wonach 
muss ich suchen?), oder muss ich mich wirklich für jedes Zeichen durch 
die Website klicken?

Vielen Dank,
Markus

von guest (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Markus schrieb:
> Gut wäre jetzt noch ein "Tool", oder halt eine Tabelle, die mir diese
> Umsetzung macht (also z.B. von "4e2d" zu "d6d0"). Gibt es sowas (wonach
> muss ich suchen?), oder muss ich mich wirklich für jedes Zeichen durch
> die Website klicken?

http://www.mandarintools.com/

Speziell:
http://www.mandarintools.com/javaconverter.html

von guest (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PS: Falls Dein Browser noch Java kann gibt es wohl auch eine 
Onlineversion:

http://www.mandarintools.com/zhcodeweb.html

von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
guest schrieb:
> http://www.mandarintools.com/
>
> Speziell:
> http://www.mandarintools.com/javaconverter.html

Nicht ganz dass was ich suche, aber die Seite sieht auf jeden Fall 
vielversprechend aus.

Eventuell kann ich ja den chinesischen Text aus der Excel-Tabelle 
irgendwie in ein Textfile (UTF-irgendwas codiert) exportieren, und 
dieses Textfile dann durch den Java-Konverter jagen, so dass dann was 
GB... - kodiertes rauskommt.

Vielen Dank für die Hilfe,
Markus

von pegel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Was sagt denn der Übersetzer, wie viele Zeichen hat der Zeichensatz?
Dann könnt man Aufwand/Nutzen abschätzen.

von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kein Plan,
die Übersetzung ist schon einige Monate alt, und der Kontakt zum 
Übersetzer läuft über mehrere Ecken.

Die Exceltabelle hat ca 300 Einträge, wobei die meisten relativ kurz 
sind (<8 chinesische Zeichen). Einige sind aber auch recht lang (vlt. 20 
Zeichen).

von DPA (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mit linux und WSL, mittels bash & iconv ist das ganz einfach:
1
printf '\u4e2d' |iconv -f utf-8 -t gb2312|hexdump -e '/1 "%01X"';echo

Man könnte statt dem \u4e2d natürlich auch direckt das chinesische 
Zeichen einfügen. Geht auch mit mehreren Zeichen. Wenn du die Excel 
Spallte mit den chinesischen Zeichen in eine Textdatei exportierst, 
kannst du die auch Zeilenweise nach gb2312 hex umwandeln:
1
while IFS= read line
2
do
3
  echo -n "$line" |iconv -f utf-8 -t gb2312|hexdump -e '/1 "%01X"';echo
4
done <InputDateiMitChinesischenZeichen >OutputDateiMitgb2312Hex

Man kann die Ausgabe von Hexdump auch noch anpassen. Um z.B. "0xXX," 
auszugeben, nimmt man statt '/1 "%01X"' einfach '/1 "0x%01X,"'. Für 
"\xXX" kann man '"\\" 1/1 "x%01X"' als format angeben.

Natürlich könnte man auch die Datei selbst nach gb2312 konvertieren:
1
iconv -f utf-8 -t gb2312 <InputDateiMitChinesischenZeichen_UTF8 >InputDateiMitChinesischenZeichen_gb2312

von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
DPA schrieb:
> Mit linux und WSL, mittels bash & iconv ist das ganz einfach:printf
> '\u4e2d' |iconv -f utf-8 -t gb2312|hexdump -e '/1 "%01X"';echo

Ok, das sieht einfach aus. Dann werde ich demnächst wohl mal mein altes 
gentoo wieder aktivieren müssen...

Vielen Dank,
Markus

von guest (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Markus schrieb:
> Eventuell kann ich ja den chinesischen Text aus der Excel-Tabelle
> irgendwie in ein Textfile (UTF-irgendwas codiert) exportieren

DPA schrieb:
> Mit linux und WSL, ...

Geht auch unter Windows relativ simpel, z.B. mit Notepad++:
In NP++ neue Datei erzeugen, Encoding auf UTF-8, Spalte in Excel 
markieren, kopieren und in NP++ einfügen, speichern und die Datei durch 
den Konverter.

Oder noch einfacher in NP++ statt UTF-8 gleich GB2312 einstellen, dann 
wird das schon gleich beim Einfügen konvertiert.

von Tommi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hier ein C-Code zum "mechanischen" Wandeln, da kann man die Umrechnung 
rauslesen:

https://blog.csdn.net/xuweiqun/article/details/1370420

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.