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


von Markus (Gast)


Angehängte Dateien:

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)


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)


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)


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)


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)


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)


Lesenswert?

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

von pegel (Gast)


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:

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)


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)


Lesenswert?

PS: Falls Dein Browser noch Java kann gibt es wohl auch eine 
Onlineversion:

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

von Markus (Gast)


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)


Lesenswert?

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

von Markus (Gast)


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)


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)


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)


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)


Lesenswert?

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

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.