作者CliffFitter (谜之声)
看板C_and_CPP
标题[问题] ASCII和HEX互转
时间Sat Dec 5 17:46:38 2009
我想要写HEX范围从00~FF转ASCII的程式和ASCII再转换回HEX的程式
EX:61(Hex) -> a(ASCII) -> 61(Hex)
两个都要存成文字档
ASCII转换回HEX的方法是把字元用十六进位方式印出来
fprintf(dPtr, "%x", Ascii);
我发现当HEX为80以上时
ASCII转回Hex就会多印6个f 爬文也没有人问过这个问题
EX:80(Hex) -> ?(ASCII) -> ffffff80(Hex)
在.exe没有 但是在文字档会出现
请问那6个f是怎麽出现的 要怎麽删掉呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.177.216
1F:推 firose:Ascii 要宣告成 unsigned char 12/05 18:20
2F:→ MOONRAKER:或者也可以加 & 0xff 就消掉啦 12/05 18:49
3F:→ CliffFitter:所以是因为最前面的bit是1所以被当作负数罗 12/06 13:28
4F:→ CliffFitter:问题解决了 感谢 12/06 13:29
5F:→ firose:是因为低位转高位, 有号数会做 signed extension. 12/06 15:54