Công cụ hoặc phương pháp nhanh nhất, dễ nhất để chuyển đổi tệp văn bản giữa các bộ ký tự là gì?
Cụ thể, tôi cần chuyển đổi từ UTF-8 sang ISO-8859-15 và ngược lại.
Mọi thứ diễn ra: một lớp trong ngôn ngữ kịch bản yêu thích của bạn, công cụ dòng lệnh hoặc các tiện ích khác cho HĐH, trang web, v.v.
Giải pháp tốt nhất cho đến nay:
Trên Linux / UNIX / OS X / cygwin:
Iconv Gnu được đề xuất bởi Troels Arvin được sử dụng tốt nhất làm bộ lọc . Nó dường như là phổ biến có sẵn. Thí dụ:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Như Ben đã chỉ ra , có một trình chuyển đổi trực tuyến sử dụng iconv .
Mã hóa Gnu ( thủ công ) được đề xuất bởi Cheekysoft sẽ chuyển đổi một hoặc một số tệp tại chỗ . Thí dụ:
$ recode UTF8..ISO-8859-15 in.txt
Cái này sử dụng các bí danh ngắn hơn:
$ recode utf8..l9 in.txt
Recode cũng hỗ trợ các bề mặt có thể được sử dụng để chuyển đổi giữa các loại kết thúc dòng và mã hóa khác nhau:
Chuyển đổi dòng mới từ LF (Unix) sang CR-LF (DOS):
$ recode ../CR-LF in.txt
Tệp mã hóa Base64:
$ recode ../Base64 in.txt
Bạn cũng có thể kết hợp chúng.
Chuyển đổi tệp UTF8 được mã hóa Base64 với các kết thúc dòng Unix sang tệp Latin 1 được mã hóa Base64 với các kết thúc dòng Dos:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
Trên Windows với Powershell ( Jay Bazuzi ):
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(Mặc dù không có hỗ trợ ISO-8859-15; nó nói rằng các bộ ký tự được hỗ trợ là unicode, utf7, utf8, utf32, ascii, bigendianunicode, default và OEM.)
Biên tập
Bạn có nghĩa là hỗ trợ iso-8859-1? Sử dụng "Chuỗi" thực hiện điều này, ví dụ như ngược lại
gc -en string in.txt | Out-File -en utf8 out.txt
Lưu ý: Các giá trị liệt kê có thể là "Unknown, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Ascii".
- CsCvt - Bộ chuyển đổi bộ ký tự của Kalytta là một công cụ chuyển đổi dựa trên dòng lệnh tuyệt vời khác cho Windows.
recode
cũng sẽ hoạt động như một bộ lọc nếu bạn không vượt qua bất kỳ tên tệp nào, ví dụ:recode utf8..l9 < in.txt > out.txt
enca
, bạn không cần chỉ định mã hóa đầu vào. Nó thường là đủ chỉ để xác định ngôn ngữ : enca -L ru -x utf8 FILE.TXT
.
iconv -f UTF-32 -t UTF-8 input.csv > output.csv
chỉ lưu khoảng bảy trăm nghìn dòng, chỉ một phần ba. Sử dụng phiên bản tại chỗ đã iconv -f UTF-32 -t UTF-8 file.csv
chuyển đổi thành công tất cả 2 triệu dòng.
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
nhưng nó chuyển đổi tập tin thành utf-8 nhưng sau đó nó trống! Notepad ++ nói rằng tệp có định dạng Ansi nhưng đọc lên vì tôi hiểu nó thậm chí không phải là một bộ ký tự hợp lệ ?? uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExF