문제

이 위키 페이지는 단일 숯을 ASCII로 변환하는 방법에 대한 일반적인 아이디어를 제공했습니다. http://en.wikibooks.org/wiki/ruby_programming/ascii

하지만 끈이 있고 각 캐릭터의 ASCII를 가져오고 싶다면 어떻게해야합니까?

"string".each_byte do |c|
      $char = c.chr
      $ascii = ?char
      puts $ascii
end

$ ascii =? char 라인에 만족하지 않기 때문에 작동하지 않습니다.

syntax error, unexpected '?'
      $ascii = ?char
                ^
도움이 되었습니까?

해결책

그만큼 c 변수는 이미 숯 코드를 포함합니다!

"string".each_byte do |c|
    puts c
end

수율

115
116
114
105
110
103

다른 팁

puts "string".split('').map(&:ord).to_s

Ruby1.9의 변경 사항은이 게시물을 참조하십시오. `?`(물음) 실패를 사용하여 Ruby에서 ASCII 문자 코드 받기

루비 스트링을 제공합니다 codepoints 1.9.1 이후의 방법.

str = 'hello world'
str.codepoints.to_a
=> [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100] 

str = "你好世界"
str.codepoints.to_a
=> [20320, 22909, 19990, 30028]

단일 문자에 "x".Ord를 사용하거나 전체 문자열에 "xyz".sum을 사용하십시오.

또한 각 _byte 또는 더 나은 문자열#바이트 이후에 To_a를 호출 할 수 있습니다.

=> 'hello world'.each_byte.to_a
=> [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]

=> 'hello world'.bytes
=> [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
"a"[0]

또는

?a

둘 다 ASCII를 반환합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top