wie zeichenkodierung ermitteln

perpetuum.mobile

Grand Admiral Special
Mitglied seit
06.02.2003
Beiträge
2.849
Renomée
21
Standort
Hinter dir!
hallo!
ich stehe vor einem kleinem zeichenkodierungsdilemma. ich bekomme von linux/windows/aix systemen textfiles und will deren zeichenkodierung ermitteln. das muss nicht mal automatisch geschehen, also gerne auch per irgendeinem tool. es kann wohl immer entweder utf-8, unix oder ascii sein. nur wie erkenne ich die unterschiede?
mein ansatz war der zeilenumbruch, der laut wikipedia ja mit cr oder lf kodiert ist. (oder cr/lf). allerdings kann ich damit nicht direkt auf den zeichensatz schließen.
habt ihr einen weg um sicher die kodierung einer datei zu ermitteln? kann man das vielleicht auf basis eines zeichens machen, welches in allen zeichensätzen unterschiedlich ist? (in den hex-werten)
danke für die hilfe!

grüße,
pm
 
danke! aber du redest gerade von dem UNIX tool file, oder? mein problem ist, ich sitze hier vor einer abgeschirmten umgebung und die arbeitsplätze, die die zeichenkodierung ermitteln sollen, laufen alle mit vista/xp.

richtig cool wäre natürlich eine windows implementierung von file. nachdem was ich so darüber im netz lese wäre es ein ziemlich passendes tool.

zusätzlich zu meinem ursprünglichen problem habe ich jetzt noch ein weiteres. ich benötige die daten in unicode mit zeilenumbruch cr/lf, da die tools alle auf windows sql server laufen. wenn nun aber die files von z.b. linux kommen, dann ists ja immer nur lf. also muss ich das auch noch umwandeln. hrmpf...

ein weiterer ansatz wäre ja, dass ganze im hex-modus zu betrachten. denn da ist ja z.b. ein cr/lf 0D 0A bzw. text ist je nach zeichensatz anders abgespeichert. allerdings ist das ja im endeffekt ein nachbau von dem UNIX-tool file. kennst du nicht zufällig skriptbare windows-tools, damit ich automatisiert zeichensatz und zeilenumbruch ermitteln kann? mein nächster schritt ist dann das umwandeln nach unicode mit cr/lf. aber das kommt nachdem ich weiß was ich rein stecke... ;)
 
ich glaube mit Ultraedit sollte das alles zu schaffen sein. Skriptbar ist das zwar leider nicht, aber die Umwandlungen sollte eigentlich funktionieren.
 
hmm danke für den tipp, aber bei ultraedit habe ich auch keine anzeige in welchem zeichensatz ich mich gerade bewege, oder? also ich öffne und er versucht den richtigen zu nehmen, oder? ich hab halt das problem, dass die dateien auch mal in die zweistelligen gigabytebereiche gehen können. die power dahinter hab ich schon (sind manycore server mit mehr als 10 platten) allerdings halt keine tools bzw. keine zeit mir da komplett was eigenes auf die beine zu stellen. da sind bestehende implemtierungen immer erste wahl.

update:
ich glaube zum umwandeln des zeichensatzes habe ich ein ganz gutes und einfaches tool gefunden:
http://www.codeproject.com/KB/files/CodePage_File_Converter.aspx

da kann ich schön input / output zeichensatz angeben und mehr einfach nicht verstellen. jetzt muss ich nur noch die identifikation dessen und das zeilenumbruch problem lösen.

update2:
mal schauen was ich noch so finde... http://www.codeproject.com/KB/recipes/DetectEncoding.aspx

udpate3:
meine lösung ist jetzt, dass ich aus dem sourcesystem über einen report die copepage ermittle. anders geht es einfach nicht. mit hilfe der tools oben kann man das dann einfach umwandeln in das gewünschte format/zeilenende.
 
Zuletzt bearbeitet:
Zurück
Oben Unten