Ich habe eine Anforderung, wo ein Client eine Datei in Codierung ANSI liefern wird, aber mein System kann nur eine Datei in UNICODE erfolgreich lesen. Wie gehe ich dieses Problem an? Ich weiß, wenn ich die Datei als UNICODE-Datei speichern möchte, wird die Datei abgeholt. Es ist schwierig, den Kunden dazu zu bringen, unsere Anfrage zu erfüllen. Kann ich also ein Batch-Programm für diesen Ordner haben, um diese Datei in UNICODE zu konvertieren und dann abzuholen?Wie konvertiert man *. TXT-Datei in Unicode
Antwort
recode könnte den Job machen.
iconv
kann das tun:
Usage: iconv [OPTION...] [FILE...]
Convert encoding of given files from one encoding to another.
Input/Output format specification:
-f, --from-code=NAME encoding of original text
-t, --to-code=NAME encoding for output
Information:
-l, --list list all known coded character sets
Output control:
-c omit invalid characters from output
-o, --output=FILE output file
-s, --silent suppress warnings
--verbose print progress information
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
können Sie auch leicht Codierungen in Python konvertieren:
inf = open("infile.txt")
data = inf.read().decode("latin1")
inf.close()
outf = open("outfile.txt", "w")
outf.write(data.encode("utf-8"))
outf.close()
Hier ist eine Lösung Powershell
$lines = gc "pathToFile"
$lines | out-file -enconding Unicode
Weder ANSI noch Unicode sind Kodierungen. Sie müssen die ANSI-Codepage der Eingabedatei und die Unicode-Codierung kennen ding (UTF8 oder UTF16 - LE oder BE), bevor Sie eines der vorgeschlagenen Tools (wie iconv) verwenden können
Ich wünschte, ich könnte das mehr aufwerten. Für die meisten Windows-Benutzer bedeutet "Unicode" UTF32. Die meisten westeuropäischen Sprachen verwenden die Codepage "Latin1", so dass die meisten davon ausgehen, dass es sich um eine "ANSI" -Codierung handelt (wiederum beschuldige ich MS für ihre Wortverwendung in ihren "Speichern unter" -Optionen). –
Wir könnten hinzufügen, dass beim Blick in Systemsteuerung-> Ländereinstellungen-> Erweiterte Optionen zeigt, welche ANSI-Codeseiten installiert und verwendet werden. –
Auf Windows-Systemen bedeutet "Unicode" normalerweise UTF-16. –
Ich ging durch einige der oben genannten Tools, viele von ihnen erfordern Befehlszeile.
Ich fand eine viel einfachere Möglichkeit zum Konvertieren von Dateien in Windows.
Installieren Notepad2 (http://www.flos-freeware.ch/). Es ist Open Source und kostenlos.
öffnen Sie die Datei hat ANSI-Codierung,
Double Click "ANSI" Wort an der Unterseite,
neuen Encoding wählen wie "UTF-8"
Speichern Sie die Datei.
Es sind nur ein paar Klicks, um die Arbeit zu erledigen.
Plus, können Sie den Inhalt überprüfen, sobald getan, um zu überprüfen.
Notepad2 hat verschiedene Vorteile gegenüber Notepad. Hervorgehoben Code, Undo/Redo usw.
: D
Ich sehe nicht, wie es einfacher ist, die Kodierung über die Notepad2-Benutzeroberfläche zu ändern, als die Befehlszeile zu verwenden, besonders bei mehreren Dateien. – ehambright
GUI ist für keinen Zweck: X Commandline brauchen Abhängigkeit ... notepad ++ ist nur Klick Klick klicken ... – CodeFarmer
Rubin oneliner, FWIW:
ruby -e 'STDOUT.write STDIN.read.force_encoding(Encoding::WINDOWS_1252).encode!(Encoding::UTF_8)' <infile.csv> outfile.csv
Wenn Ihre Eingabedatei ist schrecklich könnten Sie tack STDIN.binmode; STDOUT.binmode;
auf der Vorderseite des Ruby-Skript benötigen.
- 1. Wie konvertiert man ISO 6937 in Unicode?
- 2. Wie konvertiert man 00B0 (Gradzeichen) Unicode-Zeichen?
- 3. Wie konvertiert man numerische Zeichenreferenz in C++ in Unicode?
- 4. Wie konvertiert man von utf8 zu Unicode in ActionScript?
- 5. Wie konvertiert man Unicode-Text in normalen Text
- 6. Wie konvertiert man ein Zeichen in seinen vollständigen Unicode-Namen?
- 7. Wie konvertiert man das Sonderzeichen 'β' in seinen Unicode
- 8. Wie konvertiert man Unicode-Zeichen in Escape-Codes
- 9. Qt konvertiert Unicode-Entities
- 10. Wie konvertiert man Javascript Unicode Notation Code zu UTF-8?
- 11. htmlscape konvertiert einige Unicode-Zeichen
- 12. Django RelatedManager konvertiert Tupel in Unicode-String?
- 13. Python-Gurke konvertiert zwischen Versionen in Unicode
- 14. Wie konvertiert man Text in Unicode-Code-Punkt wie \ u0054 \ u0068 \ u0069 \ u0073 mit PHP?
- 15. Wie konvertiert man Eingabe von cmd in Unicode in Python 2.7
- 16. Wie konvertiert man eine Unicode-Zeichenfolge in eine literale Zeichenfolge in Python?
- 17. Unicode bei der Anzeige nicht konvertiert
- 18. Wie ein Unicode-Zeichen-Array zurück zu Unicode-Sequenz, die in C++ konvertiert
- 19. Wie konvertiert man ein Stringbyte (Raw HTML-String) zu SQLITE3 TEXT unterstützt Unicode in Python
- 20. Wie konvertiert man einen Unicode-Textblock in einen UTF-8 (HEX) Codepunkt?
- 21. Wie vergleicht man Unicode-Strings in Javascript?
- 22. Wie speichert man Unicode in MySQL?
- 23. Wie konvertiert man UTF8 String in Byte Array?
- 24. Wie konvertiert man literale Sequenzen in UTF-8?
- 25. Java konvertiert String in Unicode-Zeichen. "U + 1F600" =
- 26. Wie konvertiert man Ruby-Array mit RubyInline in C-Array?
- 27. Wie konvertiert man altes SQL?
- 28. Wie konvertiert man das Datumsformat in vb.net?
- 29. Wie konvertiert man string [] in ArrayList?
- 30. Wie konvertiert man String in Bitset?
Wenn Sie "Unicode" sagen, meinen Sie UTF8, UTF16, UTF32 oder eine andere Darstellung? Und wie werden Sie den Quellcode erkennen, wenn er nicht Unicode ist? Auf welcher Plattform bist du? –
Die meisten Leute denken UTF-32 = Unicode. Ich beschuldige MS und ihre "Speichern als" -Optionen für diese Idee, die unter den Massen so weit verbreitet ist. Traurig, einen Entwickler zu sehen (wer sollte es besser wissen). –
MS verwendet meistens UCS-2, nicht UTF-32. – flodin