Tôi đang cố gắng tìm một cách trong Ruby để lấy một mảng byte UTF-8 và biến nó trở lại thành một chuỗi.Ruby 1.9: Chuyển đổi mảng byte thành chuỗi với nhiều byte UTF-8 ký tự
Trong IRB (Ruby 1.9.2 preview 3) Tôi có thể tạo ra các mảng byte đúng từ UTF-8 chuỗi:
ruby-1.9.2-preview3 > 'Café'.bytes.to_a
=> [67, 97, 102, 195, 169]
Tuy nhiên, tôi không thể tìm thấy một cách để khứ hồi từ byte trở lại một mảng. Tôi đã cố gắng sử dụng Array.pack với tùy chọn U *, nhưng điều đó không làm việc cho các ký tự nhiều byte.
ruby-1.9.2-preview3 > [67, 97, 102, 195, 169].pack('U*')
=> "Café"
Có ai biết cách lấy mảng byte UTF-8 có ký tự nhiều byte và chuyển đổi nó thành chuỗi không?
Cảm ơn.
Mã này hoạt động giống như một nét duyên dáng. Điều này làm cho ngày của tôi. Cảm ơn! – Charlie