vc 中怎样将字符串在乱码和真正的字符串之间转换

如题将char*类型转换为乱码(字符串转换为乱码)以及将乱码转化为char*类型(乱码被还原为字符串)我要将它保存到文件,我要保证它不能被记事本读取(用记事本打开将看到乱... 如题
将char *
类型转换为乱码(字符串转换为乱码)
以及将乱码转化为char *类型(乱码被还原为字符串)
我要将它保存到文件,我要保证它不能被记事本读取(用记事本打开将看到乱码,一点也不能识别,只有我的程序能够读出来)
展开
 我来答
conanwj1980
2008-07-10 · TA获得超过438个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:80.2万
展开全部
char* 是指向字符的指针类型。
其实你需要存入文件的,一般还是char型字符串吧。
想让它不被记事本读取很简单,你把需要加密的字符串作为一个字符数组,采用一些加密算法对整个字符串进行加密就可以了。
ASCII码中0x31对应字符'1',你写入了字符'1'其实是写入一个字节0x31。
举个最简单的加密算法-异或加密。
把字符串数组中的所有字符与你自定义的密钥(长度、内容均自己指定)作按字节异或后,再写入文件。读取文件时,再用相同的加密符进行一次异或后,就可以恢复原来的面貌了。

设128 位密钥为“78 7A 16 2E 52 31 D7 69 E7 A4 5E 9E”,报文明文为“20 01
00 00 02 D2 68 50 86 1F A4 1F A9 D2 68 50 87 23 28 23 2D 32”。因明文长度为22
字节,密钥长度为12 字节,故密钥序列从第12 字节开始回绕。
加密后的密文为“58 7B 16 2E 50 E3 BF 39 61 BB FA 81 D1 A8 7E 7E D5 12 FF 4A CA 96”,已经面目前非了。
读取文件时,以相同的密钥对其再次异或就可恢复。
Idealsoft
2008-07-10 · TA获得超过639个赞
知道小有建树答主
回答量:461
采纳率:0%
帮助的人:291万
展开全部
这些都太复杂了,简单点,去到网上搜一个base64的编解码函数,写的时候编码,读出来之后解码,就大功告成了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
msfocus0314
2008-07-10 · TA获得超过291个赞
知道小有建树答主
回答量:392
采纳率:0%
帮助的人:286万
展开全部
对每个字节取反即可,恢复时,只需要再取反
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风轻云度
2008-07-10 · TA获得超过1423个赞
知道大有可为答主
回答量:1835
采纳率:0%
帮助的人:0
展开全部
写的时候以二进制写。代码示例如下:

char buffer[1024];

FILE* pfile = fopen("c:\\binary.txt", "w+b"); // 二进制方式写

fwrite(buffer, 1024, 1, pfile);
fflush( pfile );
fclose( pfile );

读取

FILE* pfile = fopen("c:\\binary.txt", "r+b"); // 二进制方式读

fread(buffer, 1024, 1, pfile);
fclose( pfile );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式