Ruby | 인코딩 지정, BOM 첨부 파일 만들기
5770 단어 Ruby
해결: 그렇습니다!
예: BOMUTF16-LE
이 있는 CSV 파일의 경우.File.open('example.csv', 'w:UTF-16LE') do |f|
f.write "\uFEFF"
f.write "あ\tい\tう\tえ\tお"
end
인코딩 확인
linux file
명령을 통해 인코딩을 알 수 있습니다.$ file example.csv
example.csv: Little-endian UTF-16 Unicode text, with no line terminators
내용의 확인
more
에서 컨텐트를 볼 수 있습니다.$ more example.csv
<FF><FE>B0 ^@D0 ^@F0 ^@H0 ^@J0
Excel로 확인
다음은 실패의 예이다
다른 줄을 그었다
puts라면 두 줄로 나눌 때 다른 줄이 있습니다.File.open('example.csv', 'w:UTF-16LE') do |f|
f.puts "\uFEFF"
f.puts "あ\tい\tう\tえ\tお"
end
BOM을 단질 할당액으로 둘러쌌다
File.open('example.csv', 'w:UTF-16LE') do |f|
f.write "\uFEFF"
f.write "あ\tい\tう\tえ\tお"
end
BOM 지정 오류
나는 위키백과를 참고해서 "\xFF\xFE"
쓰면 좀 촌스럽다.(아직 잘 모름)
File.open('example.csv', 'w:UTF-16LE') do |f|
bom = %w(FF FE).map { |e| e.hex.chr }.join # => "\xFF\xFE"
f.write bomf
f.write "あ\tい\tう\tえ\tお"
end
# => Encoding::UndefinedConversionError: "\xFF" from ASCII-8BIT to UTF-8
콘솔에서 확인
cat
나 head
지령이라면 안에 있는 BOM도 엉망이 될 것 같아서 잘 못 한 것 같아요.more
/less
괜찮은 것 같아)$ cat example.csv
��B0 D0 F0 H0 J0%
$ head example.csv
��B0 D0 F0 H0 J0%
시험을 준비하다
File.open('example.csv', 'w:UTF-16LE') do |f|
f.write "\uFEFF"
f.write "あ\tい\tう\tえ\tお"
end
$ file example.csv
example.csv: Little-endian UTF-16 Unicode text, with no line terminators
$ more example.csv
<FF><FE>B0 ^@D0 ^@F0 ^@H0 ^@J0
다른 줄을 그었다
puts라면 두 줄로 나눌 때 다른 줄이 있습니다.
File.open('example.csv', 'w:UTF-16LE') do |f|
f.puts "\uFEFF"
f.puts "あ\tい\tう\tえ\tお"
end
BOM을 단질 할당액으로 둘러쌌다
File.open('example.csv', 'w:UTF-16LE') do |f|
f.write "\uFEFF"
f.write "あ\tい\tう\tえ\tお"
end
BOM 지정 오류
나는 위키백과를 참고해서
"\xFF\xFE"
쓰면 좀 촌스럽다.(아직 잘 모름)
File.open('example.csv', 'w:UTF-16LE') do |f|
bom = %w(FF FE).map { |e| e.hex.chr }.join # => "\xFF\xFE"
f.write bomf
f.write "あ\tい\tう\tえ\tお"
end
# => Encoding::UndefinedConversionError: "\xFF" from ASCII-8BIT to UTF-8
콘솔에서 확인
cat
나 head
지령이라면 안에 있는 BOM도 엉망이 될 것 같아서 잘 못 한 것 같아요.more
/less
괜찮은 것 같아)$ cat example.csv
��B0 D0 F0 H0 J0%
$ head example.csv
��B0 D0 F0 H0 J0%
시험을 준비하다
컨디션
Reference
이 문제에 관하여(Ruby | 인코딩 지정, BOM 첨부 파일 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YumaInaura/items/ff72d6c56afbe50f9e0d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)