我需要将源文件从旧的CAN-8系统转换为标准ASCII,或者将其转换为标准ASCII。
CAN-8文件的每个字节的高位均为on (0x80)。
所以我需要做一些类似的事情:
f=File.new
can8=f.read..。对变量can8执行某些操作
当我显示can8变量时,它看起来像"\xC1\xC2\xC3",我需要将它转换为"ABC" ("\x41\x42\x43")
麦克
发布于 2011-12-09 12:15:46
这里有一种方法:
original_string = "\xC1\xC2\xC3"
converted_string = original_string.bytes.collect { |b| (b & 0x7f).chr }.join您没有指定Ruby版本,所以我假设您使用的是1.9或更高版本。
发布于 2011-12-09 12:16:59
下面的小脚本似乎可以完成这项工作:
File.open("/etc/passwd").each_byte { |char|
print (char & 0x7F).chr()
}char & 0x7F关闭高位,而chr()将数字转换回字符。
https://stackoverflow.com/questions/8440967
复制相似问题