Tôi nghĩ đó là 'cp1252', bí danh 'windows-1252'.
Sau khi đọc câu trả lời của Jörg, tôi đã quay lại trang Encoding trên ruby-doc.org để tìm các tham chiếu đến mã hóa cụ thể mà anh đã đề cập và đó là khi tôi phát hiện phương thức Encodings.aliases
.
Vì vậy, tôi đã loại bỏ phương pháp ở cuối câu trả lời này.
Sau đó, tôi nhìn vào sản lượng trong notepad ++, xem nó như là cả hai 'ANSI' và utf-8, và so sánh đó đến đầu ra trong IRB ...
tôi chỉ có thể tìm thấy hai nơi trong đầu ra IRB nơi tập tin utf-8 đã bị cắt xén theo cùng một cách chính xác nó xuất hiện trong notepad ++ khi xem nó như là 'ANSI', và những nơi đã được cho cp1252 và cp1254.
cp1252 rõ ràng là mã hóa 'hệ thống tệp' của tôi, vì vậy tôi sẽ thực hiện việc đó.
Tôi đã viết một kịch bản để làm bản sao của tất cả các tập tin chuyển đổi sang của utf-8, cố gắng cả từ 1252 và 1254.
utf-8 regexes dường như làm việc với cả hai bộ file cho đến nay.
Bây giờ tôi phải cố gắng nhớ những gì tôi đã thực sự cố gắng để thực hiện trước khi tôi chạy vào tất cả các nhức đầu mã hóa. xD
def compare_encodings file1, file2
file1_probs = []
file2_probs = []
txt = File.open('encoding_test_output.txt','w')
Encoding.aliases.sort.each do |k,v|
Encoding.default_external=k
ename = [k.downcase, v.downcase].join " --- "
s = ""
begin
s << "#{File.read(file1)}"
rescue
s << "nope nope nope"
file1_probs << ename
end
s << "\t| #{ename} |\t"
begin
s << "#{File.read(file2)}"
rescue
s << "nope nope nope"
file2_probs << ename
end
Encoding.default_external= 'utf-8'
txt.puts s.center(58)
puts s.center(58)
end
puts
puts "file1, \"#{file1}\" exceptions from trying to convert to:\n\n"
puts file1_probs
puts
puts "file2, \"#{file2}\" exceptions from trying to convert to:\n\n"
puts file2_probs
txt.close
end
compare_encodings "utf-8.txt", "np++'ANSI'.txt"
Nguồn
2013-04-19 05:04:35
Nó phụ thuộc vào miền địa phương hệ điều hành của bạn. Đối với tiếng Đức hoặc tiếng Anh, đó là Windows-1252. Mặc dù Notepad ++ có thể không tuân theo điều này và chỉ sử dụng nó làm bí danh cho Windows-1252. Nó không phải là bất kỳ mã hóa ISO cho chắc chắn. Xem http://en.wikipedia.org/wiki/Windows_ANSI_code_page#ANSI_code_page – Esailija
Cảm ơn, tôi nghĩ rằng đó là cp1252, vâng. –