宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 3458|回复: 0

[分享] 中文转换16进制,解决CE搜索中文

[复制链接]

该用户从未签到

黑泡泡 发表于 2010-10-29 13:15:29 | 显示全部楼层 |阅读模式

欢迎您注册加入!这里有您将更精采!

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 黑泡泡 于 2010-10-29 13:17 编辑

CE的文本搜索对中文的支持不好,很多中文是搜索不到的.
老大建议改用字符数组搜索.但中文转换成16进制是个问题,下面源码可以解决这个问题,
方便大家搜索中文内存地址.

程序是用C#写的.

调用   ToHex("黑泡泡","Unicode",true);
返回   D1 9E E1 6C E1 6C
  1. /// <summary>
  2.         /// 从汉字转换到16进制
  3.         /// </summary>
  4.         /// <param name="s">汉字</param>
  5.         /// <param name="charset">编码,如"utf-8","gb2312"</param>
  6.         /// <param name="fenge">是否每字符用空格分隔</param>
  7.         /// <returns></returns>
  8.         public static string ToHex(string s, string charset, bool fenge)
  9.         {
  10.          
  11.             System.Text.Encoding chs = System.Text.Encoding.GetEncoding(charset);

  12.             byte[] bytes = chs.GetBytes(s);

  13.             string str = "";

  14.             for (int i = 0; i < bytes.Length; i++)
  15.             {
  16.                 str += string.Format("{0:X}", bytes[i]);
  17.                 if (fenge && (i != bytes.Length - 1))
  18.                 {
  19.                     str += string.Format("{0}", " ");
  20.                 }
  21.             }

  22.             return str.ToUpper();
  23.         }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

免责声明

本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-12-22 15:29 , File On Powered by Discuz! X3.49

快速回复 返回顶部 返回列表