11 个解决方案
#1
不知道你要干什么,文本文件本来可能就是ASCII,还有可能是Unicode。 那么ASCII就不用转了,Unicode转的话要看Unicode用的哪种编码,UCS2,UTF8,UTF16...。涉及到非英文字符还要看非英文字符用ASCII怎么表示的。 没有通吃的办法吧!
#2
用ultra edit ,notepad++什么的就行了
#3
#4
可能我没表述清楚。我的文件内容是这样的
"diamond 2012年我们 2008 05 001 003 3.0 。。。。。。"
我要求按这样的数据格式写成二进制,比如
文件头格式,长度1024个字节。
char ZonName[12]; // diamond 12个字节
char DataName[38];//数据说明(例如 2012年我们)38个字节
unsigned short int year;//2008 两个字节
unsigned short int month;//05 两个字节
。。。。。。
我要用vb写的话,我知道是用put但不清楚是不是我直接写
dim zonename as string,ye as integer,mon as integer,datename as string
open "1.dat" for binary as #1
put #1,,zonename
put #1,13,datename //我是不是从第十三个字节写就可以了
put #1,51,ye
put #1,53,mon //我读文件读出来的05是整型显示是5,所以这样写就可以了呢
谢谢!
"diamond 2012年我们 2008 05 001 003 3.0 。。。。。。"
我要求按这样的数据格式写成二进制,比如
文件头格式,长度1024个字节。
char ZonName[12]; // diamond 12个字节
char DataName[38];//数据说明(例如 2012年我们)38个字节
unsigned short int year;//2008 两个字节
unsigned short int month;//05 两个字节
。。。。。。
我要用vb写的话,我知道是用put但不清楚是不是我直接写
dim zonename as string,ye as integer,mon as integer,datename as string
open "1.dat" for binary as #1
put #1,,zonename
put #1,13,datename //我是不是从第十三个字节写就可以了
put #1,51,ye
put #1,53,mon //我读文件读出来的05是整型显示是5,所以这样写就可以了呢
谢谢!
#5
推荐使用WinHex软件查看文件或内存中的原始字节内容。
#6
在VIM下使用命令 :%!xxd 可以转换成二进制形式
#7
ascii在gbk/utf8变长编码里表示0-127的字符,不知道楼主是如何把中文变成asccii编码的,真厉害。
#8
Notepad++ 可以
#9
谢谢各位,我是需要vb编程实现这个功能的。麻烦能就我的问题给个帮忙回答下吗?
#10
我是需要编程,每天都要读文件,按指定的数据格式生成二进制文件的。
#11
你可以定义
type mydata
zonename as string*12
..
end type
如何二进制方式读取,直接put就可以了。
type mydata
zonename as string*12
..
end type
如何二进制方式读取,直接put就可以了。
#1
不知道你要干什么,文本文件本来可能就是ASCII,还有可能是Unicode。 那么ASCII就不用转了,Unicode转的话要看Unicode用的哪种编码,UCS2,UTF8,UTF16...。涉及到非英文字符还要看非英文字符用ASCII怎么表示的。 没有通吃的办法吧!
#2
用ultra edit ,notepad++什么的就行了
#3
#4
可能我没表述清楚。我的文件内容是这样的
"diamond 2012年我们 2008 05 001 003 3.0 。。。。。。"
我要求按这样的数据格式写成二进制,比如
文件头格式,长度1024个字节。
char ZonName[12]; // diamond 12个字节
char DataName[38];//数据说明(例如 2012年我们)38个字节
unsigned short int year;//2008 两个字节
unsigned short int month;//05 两个字节
。。。。。。
我要用vb写的话,我知道是用put但不清楚是不是我直接写
dim zonename as string,ye as integer,mon as integer,datename as string
open "1.dat" for binary as #1
put #1,,zonename
put #1,13,datename //我是不是从第十三个字节写就可以了
put #1,51,ye
put #1,53,mon //我读文件读出来的05是整型显示是5,所以这样写就可以了呢
谢谢!
"diamond 2012年我们 2008 05 001 003 3.0 。。。。。。"
我要求按这样的数据格式写成二进制,比如
文件头格式,长度1024个字节。
char ZonName[12]; // diamond 12个字节
char DataName[38];//数据说明(例如 2012年我们)38个字节
unsigned short int year;//2008 两个字节
unsigned short int month;//05 两个字节
。。。。。。
我要用vb写的话,我知道是用put但不清楚是不是我直接写
dim zonename as string,ye as integer,mon as integer,datename as string
open "1.dat" for binary as #1
put #1,,zonename
put #1,13,datename //我是不是从第十三个字节写就可以了
put #1,51,ye
put #1,53,mon //我读文件读出来的05是整型显示是5,所以这样写就可以了呢
谢谢!
#5
推荐使用WinHex软件查看文件或内存中的原始字节内容。
#6
在VIM下使用命令 :%!xxd 可以转换成二进制形式
#7
ascii在gbk/utf8变长编码里表示0-127的字符,不知道楼主是如何把中文变成asccii编码的,真厉害。
#8
Notepad++ 可以
#9
谢谢各位,我是需要vb编程实现这个功能的。麻烦能就我的问题给个帮忙回答下吗?
#10
我是需要编程,每天都要读文件,按指定的数据格式生成二进制文件的。
#11
你可以定义
type mydata
zonename as string*12
..
end type
如何二进制方式读取,直接put就可以了。
type mydata
zonename as string*12
..
end type
如何二进制方式读取,直接put就可以了。