1
누구든지이 코드를 어떻게 설명 할 수 있습니까? 루비에서Ruby에서 같은 문자열, 인코딩이 다르지만 같음
s1 = "\x20".force_encoding 'UTF-8'
s2 = "\x20".force_encoding 'ASCII-8BIT'
puts "s1 == s2: #{s1 == s2}"
s3 = "\xAB".force_encoding 'UTF-8'
s4 = "\xAB".force_encoding 'ASCII-8BIT'
puts "s3 == s4: #{s3 == s4}"
그것은 인쇄 2.0.0p353 :
s1 == s2: true
s3 == s4: false
나는 S1과 S2가 왜 S3과 S4 것은 동일하지 이해하지 않습니다. 0xAB은 '½'에 대한 ASCII 코드입니다. ASCII 코드는 ASCII-8BIT와 UTF8 모두에서 나타납니다. 인코딩 때문에 utf-8에
을 '\ 0xAB'이기도 * UTF-8 문자 코드로''½ ''이 아닙니다. "\ xAB".force_encoding ('CP850'). encode ('UTF-8')'-'½'을줍니다. . . http://en.wikipedia.org/wiki/Code_page_850 - 아마도 다른 MSDOS 기반 확장 프로그램에도이 매핑이 있습니다. –
나는 1/2에 대한 ASCII 코드라는 정보를 어디서 얻었는지 모르겠다. 그것은 실제로 [왼쪽을 가리키는 이중 각도 인용 부호, 왼쪽 가리키는 계략] (http://www.ascii-code.com/)입니다. '\ xBD'를 원하셨습니까? – roippi
Thanks @ NeeSlater, 그건 의미가 있습니다! – johnrl