:UTF-8 문자열이 Ruby 2.0의 ASCII-8BIT 문자열과 같지 않은 이유는 무엇입니까? 내가 루비 2.3를 사용하고
나는 다음과 같은 문자열이 : 나는 그것을 포함하는 파일에 File.binread()
을 "\xFF\xFE"
를, 그래서이 문자열의 인코딩이 ASCII-8BIT
입니다. 그러나, 내 코드에서이 문자열을 리터럴 문자열 "\xFF\xFE"
(모든 Ruby 문자열이 기본적으로 가지고있는 인코딩 UTF-8
)과 비교하여 실제로 읽었는지 확인합니다.
그러나, 비교, false
를 돌려 두 문자열이 동일한 바이트를 포함하더라도 - 그것은 단지 하나의 인코딩 ASCII-8BIT
와 것을 어떻게 다른 하나는 UTF-8
이다 나는 두 가지 질문이있다 : (1) 왜 그것을 반환하지 않습니다 false
? (2) 내가 원하는 것을 성취하는 가장 좋은 방법은 무엇입니까? 읽은 문자열이 일치하는지 확인하고 싶습니다 "\xFF\xFE"
그냥 유니 코드의 파일을 읽고 싶다면 BOM을 사용하면 'BOM | UTF-8'의 [인코딩] (http://ruby-doc.org/core-2.4.2/IO.html#method-c-new-label-IO+Encoding)을 전달할 수 있습니다. '루비가 자동으로 처리하도록해라. – Stefan