我觉得 非打印字符的默认方式具体是什么 都不影响解析结果的比如说,在甲方式下,0x01存为下箭头符号的话,解析出来的还是0x01
在乙方式下,0x01存为上箭头符号的话,解析出来的还是0x01微软应该做的比较严谨才是

解决方案 »

  1.   

    而且 MFC的edit框中显示字符是用的什么代码页?什么编码方式?我个人总感觉还是用的ascii编码方式 只是用了中文代码页……但我不确定
      

  2.   

    msdos的 代码页,与 你用的代码页 有差别的。
    msdos 的 0到 19h 是 图形。
      

  3.   


    周杰伦之谜,我要是能实践的出来,我就不必在这发帖了首先,我手中只有中文操作系统,我弄的0x80以上字符,全是以中文代码页(我猜就是用的中文代码页)的形式显示到edit框中的,我即使在这种环境下,测试出我的结论,也说明不了什么,因为我没有西文、日文等操作系统,我想在这些操作系统下,0x80以上字符的“乱码”显示格式,肯定和中文下不一致,毕竟,乱码也是一种编码方式……举个例子吧,"ζ"符号,在我的系统上(中文代码页),解析出来可能是0xed吧(我杜撰的这个数字),要是在俄文系统下,这个符号或许解析出来的就是0xda了。我最初的疑问就是:同样的乱码组合,在同一种代码页操作系统下(就比如中文操作系统),解析出来的,就一定是一种原文。我感觉就是这样,但是想请教有过此类经验的大虾们
      

  4.   

    我觉得你们经理的想法是好的,但是做法有问题。为什么要用GetWindowText来取?
    我觉得应该这么做:继承CEdit,添加一个变量,比如说char sec[256]; 你把加密后的东西保存在这里,就算不同操作系统显示的结果不一样,但是这个sec肯定是一样的。
      

  5.   

    Quote: 引用 10 楼 zhoujielunzhimi 的回复:

    我觉得你们经理的想法是好的,但是做法有问题。为什么要用GetWindowText来取?
     我觉得应该这么做:继承CEdit,添加一个变量,比如说char sec[256]; 你把加密后的东西保存在这里,就算不同操作系统显示的结果不一样,但是这个sec肯定是一样的。 
    Quote:
    我知道你说的是对的,我现在也在用这种方法我只是在编码过程中产生了这个有关界面疑问,所以碰巧来论坛问问
      

  6.   

    我也碰到类似问题,我需要把非打印字符在RichTextBox上显示出来,而且跟ASCII表所描述的“图案”一样。但可惜只有部分显示出来,譬如:0x11,应该显示成“左箭头”