社区
C++ 语言
帖子详情
单字节转双字节并输出到文件
gangliao
2006-03-27 06:08:13
我在写一个读取别人文件的程序的时候,发现不管怎么样,我写的文件别人的程序就是不读,而它自己生成的就可以,后来用记事本打开发现内容一样,但我写的文件程序还是不能读,后来用ultraedit发现程序生成的文件所有的字符都是占两个字节的,有没有人能告诉我,怎么把单字节转换成双字节,并且也写到文件里去啊?我用的是VC6,生成的文件用ultraedit另存为一个utf8的格式,程序就能读了,但是在我自己的程序里怎么实现呢??是不是ofstream还有什么参数之类的??
...全文
666
10
打赏
收藏
单字节转双字节并输出到文件
我在写一个读取别人文件的程序的时候,发现不管怎么样,我写的文件别人的程序就是不读,而它自己生成的就可以,后来用记事本打开发现内容一样,但我写的文件程序还是不能读,后来用ultraedit发现程序生成的文件所有的字符都是占两个字节的,有没有人能告诉我,怎么把单字节转换成双字节,并且也写到文件里去啊?我用的是VC6,生成的文件用ultraedit另存为一个utf8的格式,程序就能读了,但是在我自己的程序里怎么实现呢??是不是ofstream还有什么参数之类的??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ddmor
2006-04-04
打赏
举报
回复
这是没有理解文本字符编码而引出的问题。读取文本数据前需要确定文本中字符的编码,然后再判断你期望使用的字符编码和该编码是否一致,再进行字符编码转换。
字符的转换需要借助系统api函数来解决,比如
MultiByteToWideChar// 多字节字符编码到宽字节字符编码
WideCharToMultiByte// 宽字节字符编码到多字节字符编码
,当然也可以自行设计转换,比如iso8859,utf-8,utf-16(unicode)之间可以方便转换,而gb2312到utf编码系列的转换就需要字符映射了,所以系统功能调用是最常用方便的用法。
gangliao
2006-04-04
打赏
举报
回复
可以转换,但写成的文件格式还是dos方式,而我用java就可以写成utf8-dos模式,用utraledit打开的时候就可以看得很清楚!
Torrice
2006-03-29
打赏
举报
回复
msdn转换的例子:
#include <windows.h>
#include <lm.h>
#include <stdio.h>
BOOL GetFullName( char *UserName, char *Domain, char *dest )
{
WCHAR wszUserName[UNLEN+1]; // Unicode user name
WCHAR wszDomain[256];
LPBYTE ComputerName;
struct _SERVER_INFO_100 *si100; // Server structure
struct _USER_INFO_2 *ui; // User structure
// Convert ANSI user name and domain to Unicode
MultiByteToWideChar( CP_ACP, 0, UserName,
strlen(UserName)+1, wszUserName,
sizeof(wszUserName)/sizeof(wszUserName[0]) );
MultiByteToWideChar( CP_ACP, 0, Domain,
strlen(Domain)+1, wszDomain, sizeof(wszDomain)/sizeof(wszDomain[0]) );
// Get the computer name of a DC for the domain.
NetGetDCName( NULL, wszDomain, &ComputerName );
// Look up the user on the DC.
if( NetUserGetInfo( (LPWSTR) ComputerName,
(LPWSTR) &wszUserName, 2, (LPBYTE *) &ui ) )
{
printf( "Error getting user information.\n" );
return( FALSE );
}
// Convert the Unicode full name to ANSI.
WideCharToMultiByte( CP_ACP, 0, ui->usri2_full_name, -1,
dest, 256, NULL, NULL );
return (TRUE);
}
gangliao
2006-03-29
打赏
举报
回复
其实说白了就是写一个unicode或utf8的文件,我不知道怎么实现。
纪俊
2006-03-28
打赏
举报
回复
枪支类型转换。。。-____-
Wolf0403
2006-03-28
打赏
举报
回复
MultiByteToWideChar
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_17si.asp
逸学堂
2006-03-28
打赏
举报
回复
把自己的开发环境设置为UNICODE类型就可以了。
stormwolf
2006-03-28
打赏
举报
回复
不是很懂..友情帮顶一下..学习中...
fiftymetre
2006-03-27
打赏
举报
回复
char fiftymetre[] = new char[2*str.length()];
嘻嘻
gangliao
2006-03-27
打赏
举报
回复
如果能让vc自己生成一个双字节的文本文件也行!!
字节
码(ASM/Javassit/AspectJ)框架实战
通过
字节
码操作框架,我们可以从类
文件
中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。而ASM和Javassit是其中比较优秀的框架。通过本课程你能够系统的学习ASM、Javassit框架的使用。
判断一个字符是双
字节
还是
单
字节
对于字符串的处理,经常会遇到需要判断字符是双
字节
还是
单
字节
(或者全角和半角)的情况,因为双
字节
字符和
单
字节
字符在屏幕上所占用的空间是不同的,通常情况下双
字节
字符占用的空间是
单
字节
字符的两倍。...
python打印
字节
流_python如何
输出
文件
内容
文件
只是连续的
字节
序列。数据的传输经常会用到
字节
流,无论
字节
流是由单个
字节
还是大块数据组成.你必须先用Python内置的open()函数打开一个
文件
,创建一个file对象,相关的方法才可以调用它进行读写。(推荐学习:...
字节
输出
流
字节
输出
流(OutputStream)是用于将数据写出到外部的流。它是一个抽象类,具体的实现类包括
文件
输出
流(FileOutputStream)、
字节
数组
输出
流(ByteArrayOutputStream)等。可以使用
字节
数组
输出
流...
Java
字节
流的使用:
字节
输入/
输出
流、
文件
输入/
输出
流、
字节
数组输入/
输出
流
所有表示
字节
输出
流类的父类是 OutputStream,它也是一个抽象类,同样子类需要重新定义父类的抽象方法。 下面首先介绍上述两个父类提供的常用方法,然后介绍如何使用它们的子类输入和
输出
字节
流,包括 ByteArray...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章