TC官方合作论坛

 找回密码
 立即注册
查看: 9436|回复: 53

[TC5.0源码] 字符串打散--支持中文字符串打散--纯TC源码

  [复制链接]
发表于 2015-12-25 17:23:11 | 显示全部楼层 |阅读模式
本帖最后由 somyyy 于 2015-12-27 00:27 编辑

昨天无聊浏览着网页,突然想一串字符串,没有分隔符的话,怎么把它打散成一个个字符呢?
于是就打开TC,一看,原来利用字符串返回字符就行了,但是又想内存读字节重新组装应该也可以吧?
所以,写来一个源码给大家分享一下,高手掠过,需要的朋友请不吝支持一下。
非中文内存码过滤了第一字节的00

非中文内存码未过滤第一字节的00

游客,如果您要查看本帖隐藏内容请回复
游客,如果您要查看本帖隐藏内容请回复





本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2015-12-25 19:46:52 | 显示全部楼层
看看
回复

使用道具 举报

发表于 2015-12-25 20:20:24 | 显示全部楼层
了解一下
回复

使用道具 举报

发表于 2015-12-26 08:51:09 | 显示全部楼层
早上好 爱卿们

早上好 爱卿们

早上好 爱卿们

回复 支持 反对

使用道具 举报

发表于 2015-12-26 09:12:33 | 显示全部楼层
好奇看看
回复

使用道具 举报

发表于 2015-12-26 18:44:21 | 显示全部楼层
x1111111
回复

使用道具 举报

发表于 2015-12-26 20:23:06 | 显示全部楼层
内存非中文部份要补零,否则是不正确的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-26 21:18:28 | 显示全部楼层
本帖最后由 somyyy 于 2015-12-26 21:24 编辑
sam7894604 发表于 2015-12-26 20:23
内存非中文部份要补零,否则是不正确的

内存中非中文部分实际数据存储是要前面加00的,由于前面是00,所以逻辑判断时候过滤了,需要补加,就在源码过滤00段补上即可,只是看着不舒服给过滤掉了;
对中文部分由于TC默认省略00,会导致数据组装时出错,重点进行了处理。
回复 支持 反对

使用道具 举报

发表于 2015-12-26 21:31:30 | 显示全部楼层
本帖最后由 sam7894604 于 2015-12-26 21:34 编辑
somyyy 发表于 2015-12-26 21:18
内存中非中文部分实际数据存储是要前面加00的,由于前面是00,所以逻辑判断时候过滤了,需要补加,就在源 ...

你理解错了,因为字符串编码为 Unicode 一个字符就是双字节大小,所以我才说你非中文部份处理错误。
另外其实用 字符串返回字符 跟你写的读内存方式一样可以完成相同功能
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-26 22:47:06 | 显示全部楼层
sam7894604 发表于 2015-12-26 21:31
你理解错了,因为字符串编码为 Unicode 一个字符就是双字节大小,所以我才说你非中文部份处理错误。
另外 ...

是的,TC默认U码,应该加00,这个鬼哥是对的,我也是看着不爽过滤了;
源码有字符串返回字符这个程序段,对应函数打散编辑框显示的;
内存组装就是后面对内存地址读取后组装处理后显示的;
内存数据和十进制数都是内存组装的一个数值显示,也就在内存数据这里过滤了非中文字符前面一个字节的00。
还是感谢鬼哥,说明一下情况,这样更便于大家更好的理解程序和了解内存数据。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-3-29 18:46 , Processed in 0.046490 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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