添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

上一篇文章 主要利用C#自带的 Convert.ToInt32(HexString, 16) 方法实现了两个十六进制字符串异或的操作。这篇文章主要利用C#字节数组来实现这个功能。

1 实现思路

现将这两个十六进制字符串都转换成对应的字节数组,然后通过数组中每个元素进行异或得到一个0~15范围内的整数,最后将这个整数转换成对应的十六进制字符即可。这个思路和前文 《C语言实现十六进制字符串异或》 是类似的。

需要注意的是:在调用 HexStrToBytes( String HexStr ) 方法将将16进制字符串转换成字节数组时,需要捕获异常,避免这个十六进制字符串包含不是十六进制的字符。

- 阅读剩余部分 -

C#实现十六进制字符串异或(一)

  • 作者:vfhky | 时间:2014-12-29 21:52 | 分类: csharp
  • 前面用C/C++实现了两个十六进制的字符串进行异或( 查看该文 ),这篇文章利用C#来实现这个功能。由于C#命名空间里已经封装好了很多类和方法,不用像之前用C实现十六进制字符串异或那样,需要自己写相关的函数,所以能够利用C#很快完成这个字符串异或功能。

    用C#实现两个十六进制的字符串进行异或和用C/C++实现两个十六进制的字符串进行异或的思路是一样的,对比着之前用C实现的那篇文章,可以很好理解。

    - 阅读剩余部分 -

    图文实例说MFC制作工具的心得(二)

  • 作者:vfhky | 时间:2014-11-14 23:58 | 分类: cseries
  • 继前文 《图文实例说MFC制作工具的心得(一)》 ,这篇文章继续写几点心得。

    1 如何将CString转换成char *指针

    由于异或的时候可以直接调用 《十六进制字符串异或》 一文中的十六进制字符串异或方法 void hexstrxor(char * HexStr1, char * HexStr2, char * HexStr)

    但是 Edit Control 控件添加变量 HexStr1 HexStr2 都是CString类型,所以需要转换。由于项目的字符集是 使用多字节字符集 ,所以可以通过 (LPSTR)(LPCTSTR)CString 方法强制将CString数据转换成char *指针类型,这样就可以直接调用了 hexstrxor((LPSTR)(LPCTSTR)HexStr1, (LPSTR)(LPCTSTR)HexStr2, HexStrXorResult);

    - 阅读剩余部分 -

    图文实例说MFC制作工具的心得(一)

  • 作者:vfhky | 时间:2014-11-13 22:06 | 分类: cseries
  • 上篇文章 说了用MFC制作一个十六进制字符串异或的工具,这篇文章就以这个工具为演示总结一下自己的学习心得。

    - 阅读剩余部分 -

    MFC写了一个十六进制字符串异或的工具

  • 作者:vfhky | 时间:2014-11-12 23:57 | 分类: cseries
  • 在写完上一篇文章 《十六进制字符串异或》 后,网上查了下貌似没有十六进制字符串异或的工具,于是想自己用C++写一个。由于之前没弄过MFC,所以周末花了两天时间边学边做,最后效果如下:

    - 阅读剩余部分 -

    十六进制字符串异或

  • 作者:vfhky | 时间:2014-11-10 22:20 | 分类: cseries
  • 十六进制字符串异或是C/C++工作中经常遇到的情况,因此自己写了一个异或方法。程序中关键的三点:

    1 关键点一

    弄清十六进制字符串异或的思路:一个十六进制字符其实表示的是一个字节的低4位,但是在ASCII码表中,它是作为一个字符,即占用了1个字节。所以需要先把这个字符转换成对应的十进制数(范围是0~15),这个就是 int char2int( char input ) 函数所做的工作;同理在异或完后,需要根据ASCII码表将范围是0~15的 字符 转换成对应的占用1字节的字符串中的字符,这个就是 int int2char( char input ) 函数所做的工作。

    PS:这其实就是前面这两篇文章的提炼—— 《C语言将十进制字符串转成十进制整数》 《C语言将十六进制字符串转成十进制整数》

    - 阅读剩余部分 -