Ruby 关于 ruby socket,编码的问题

wangping · 2014年07月11日 · 2137 次阅读

直接贴代码:

s = TCPSocket.open(hostname, port)
s.send(xml, 0)
r_xml= ""
s.readlines.each  {|x| r_xml+=x}
p r_xm

打印的结果里面由于有中文:

<?xml version=\"1.0\" encoding=\"GB2312\" standalone=\"yes\" ?>12312312WLPT_Err1003\xBD\xE2\xCE\xF6\xB7\xFE\xCE\xF1\xC6\xF7\xB7\xB5\xBB\xD8\xCA\xFD\xBE\xDD\xB3\xF6\xB4\xED1\xA3\xA8\xC8\xE7\xB9\xFB\xB8\xC3\xB1\xCA\xBD\xBB\xD2\xD7\xCE\xAA\xD5\xCA\xCE\xF1\xBD\xBB\xD2\xD7\xA3\xAC\xD4\xF2\xB4\xA6\xC0\xED\xBD\xE1\xB9\xFB\xB2\xBB\xC8\xB7\xB6\xA8\xA3\xAC\xC7\xEB\xCF\xC8\xBA\xCB\xB6\xD4\xC3\xF7\xCF\xB8\xA3\xA1\xA3\xA9\r\n

然后这个的编码被制定为虚拟编码 ASCII-8BIT

这个如何还原为中文,各种转码都试过了

p 改成 puts / print

需要 登录 后方可回复, 如果你还没有账号请 注册新账号