将字符串转换为实际的UTF-8字符

ggt*_*ggt 1 ruby utf-8

示例文件包含此内容. [" \u042D\u0440\u044B\u0433\u044D\u0436\u044D\u044D. \n"]

我想\u[a-zA-Z0-9]用真正的utf-8字符替换字符.应该做什么?

File.new("mnosis.xml").each_line do |line|
  re = /\\u[0-9a-fA-F]{4}/
  new_str = line.gsub(re) {|match| puts match[0..1] + '#{' + match[2..5] + '}' }
  puts new_str
end
Run Code Online (Sandbox Code Playgroud)

Rea*_*onk 5

new_str = line.gsub(re) {|match| Array(match[2..5].to_i(16)).pack('U') }
=> "????????."
Run Code Online (Sandbox Code Playgroud)