二进制文件和文本文件的详细以及如何生成二进制文件-推荐下载

合集下载

python对文本文件和二进制文件操作的三个通用步骤

python对文本文件和二进制文件操作的三个通用步骤

python对文本文件和二进制文件操作的三个通用步骤Python对文本文件和二进制文件的操作涉及三个通用步骤:打开文件、读写文件内容以及关闭文件。

1. 打开文件:在Python中,可以使用`open()`函数来打开一个文件。

这个函数接受文件路径和打开模式作为参数,并返回一个文件对象。

文件路径可以是绝对路径或相对路径。

打开模式分为读取模式('r')、写入模式('w')、追加模式('a')以及二进制模式('b')等。

例如,要打开一个文本文件用于读取,我们可以使用以下代码:```pythonfile = open('example.txt', 'r')```2. 读写文件内容:一旦文件打开,我们可以使用文件对象的方法来读取文件内容或写入新的内容。

对于文本文件,可以使用`read()`、`readline()`和`readlines()`方法来读取文件内容,或使用`write()`方法来写入新的内容。

- `read()`方法将整个文件内容读取到一个字符串中。

- `readline()`方法每次读取文件的一行,并返回一个字符串。

- `readlines()`方法将文件的每一行读取到一个列表中,每一行作为一个元素。

- `write()`方法将给定的字符串写入文件中。

对于二进制文件,可以使用`read()`和`write()`方法来读取和写入二进制数据。

```python# 读取文件内容content = file.read()print(content)# 写入新的内容file.write('This is a new line.')```3. 关闭文件:在完成文件操作后,应该及时关闭文件,以释放系统资源。

可以使用文件对象的`close()`方法来关闭文件。

```pythonfile.close()```为了避免忘记关闭文件,可以使用`with`语句来自动关闭文件。

二进制文件和文本文件的详细以及如何生成二进制文件

二进制文件和文本文件的详细以及如何生成二进制文件

二进制文件和文本文件的详细以及如何生成二进制文件?技术随笔2010-05-01 19:13:56 阅读226 评论0 字号:大中小订阅这个问题一直困扰了很多年,可能是我没有认真的去思考。

我相信很多人可能和我一样很纠葛,到底编译器也好,汇编器也好是如何工作的呢?到底怎么回事?为什么会运行呢?这是让我们这些看着windows 学习电脑的人真的很难去理解计算机的内部结构。

其实,这一切都只是障眼法,下面我就来给大家细细说说我对计算机的理解。

解答1:编译器是怎么回事?所谓编译器,顾名思义就是将一种文本格式转换成另一种文本格式。

比如将字符串echo "hello"; 转换成printf("hello"); 这其实是php语言转成c语言的一种表示。

这只是一种简单的描述,其实很大一部分的编译器是将源语言转换成了汇编语言。

下面我们来看看 C 语言中的经典hello word,通过gcc编译后生成的汇编是怎么回事。

c语言源码:#include<stdio.h>int main() {printf("hello world\n");}通过编译器后,编译器把这个翻译成了另一套字符串,其实就是汇编语言:.file "hello.c".section .rodata.LC0:.string "hello world".text.globl main.type main, @functionmain:leal 4(%esp), %ecxandl $-16,%esppushl -4(%ecx)pushl %ebpmovl %esp, %ebppushl %ecxsubl $4, %espmovl $.LC0, (%esp)call putsaddl $4, %esppopl %ecxpopl %ebpleal -4(%ecx), %espret.size main, .-main.ident "GCC: (GNU) 4.1.2".section .note.GNU-stack,"", @progbits这就是编译器做的工作了,其实这应该可以理解是吗,其实就是从一种字符串模式到了另一种字符串模式。

关于文本文件和二进制文件的思考

关于文本文件和二进制文件的思考

关于文本文件和二进制文件的思考一、文本文件和二进制文件的区别文本文件和二进制文件本质上没有区别,无论是文本文件,还是二进制文件,在内存中都是以二进制的形式存在。

例如,将整数100输入到磁盘上,在内存中占4个字节,当以ASCII码输出到磁盘上时,占3个字节,而当以二进制形式输出到磁盘上时,占4个字节。

由此可以看出,以什么样的形式输出,取决于对数据的操作,而并不取决于数据本身的大小和状态。

二、二者操作上的区别ANSI C采用缓冲文件系统,在内存中开辟一个区,用来存放文件的有关信息,这些信息保存在一个结构体变量中,即FILE类型,包括文件状态标志、文件描述符、缓冲区的大小等。

以只写的方式打开文件“student”为例。

在C语言中,打开文件需要用到fopen 函数。

打开文本文件时的代码为fp=fopen(“student”,“w”),而打开二进制文件时的代码为fp=fopen(“student”,“wb”)。

fopen函数的原型为:FILE *fopen(char *filename,char *mode )。

这里有两个形参,filename为文件的路径,mode为打开文件的方式,而“w”与“wb”就是函数的实参。

形参mode指定文件打开的方式,当形参mode接收实参“w”时,就是为输出打开一个文本文件;当形参mode接受实参“wb”时,就是为输入打开一个二进制文件。

实际上形参mode可以接收的实参就是一些字符串,ANSI C允许的有“r”(只读)、“w”(只写)、“ab”(追加)、“r+”(读写)等等。

头文件stdio.h包含了文件操作函数,文件操作函数的源代码为:/** File Operations*/_CRTIMP FILE* __cdecl fopen (const char*, const char*);_CRTIMP FILE* __cdecl freopen (const char*, const char*, FILE*);_CRTIMP int __cdecl fflush (FILE*);_CRTIMP int __cdecl fclose (FILE*);/* MS puts remove & rename (but not wide versions) in io.h also */_CRTIMP int __cdecl remove (const char*);_CRTIMP int __cdecl rename (const char*, const char*);_CRTIMP FILE* __cdecl tmpfile (void);_CRTIMP char* __cdecl tmpnam (char*);#ifndef __STRICT_ANSI___CRTIMP char* __cdecl _tempnam (const char*, const char*);_CRTIMP int __cdecl _rmtmp(void);#ifndef NO_OLDNAMES_CRTIMP char* __cdecl tempnam (const char*, const char*);_CRTIMP int __cdecl rmtmp(void);#endif#endif /* __STRICT_ANSI__ */_CRTIMP int __cdecl setvbuf (FILE*, char*, int, size_t);_CRTIMP void __cdecl setbuf (FILE*, char*)总结:t模式和b模式的不同,不在于数据本身,而在于对数据的操作,即代码中参数的不同。

文本格式转换成二进制

文本格式转换成二进制

文本格式转换成二进制在计算机科学中,文本格式转换成二进制是一项重要的任务。

计算机只能理解和处理二进制数据,因此将文本格式转换成二进制是为了让计算机能够读取和处理文本数据。

本文将介绍文本格式转换成二进制的原理、方法和应用。

1. 原理计算机使用二进制编码来表示和存储数据。

在二进制编码中,每个字符都由一组0和1表示。

例如,ASCII编码使用7位二进制数来表示128个字符。

Unicode编码则使用16位二进制数来表示更多的字符。

文本格式转换成二进制的原理是将每个字符转换成其对应的二进制编码。

这可以通过查找字符的二进制编码表来实现。

一旦获得了字符的二进制编码,就可以将其存储在计算机中,以便后续的处理和操作。

2. 方法文本格式转换成二进制有多种方法,下面介绍常用的两种方法:ASCII编码和Unicode编码。

2.1 ASCII编码ASCII编码是一种常见的字符编码方式,它使用7位二进制数来表示128个字符。

ASCII编码表将每个字符映射到一个唯一的7位二进制数。

例如,字母”A”对应的ASCII码是01000001,字母”B”对应的ASCII码是01000010。

要将文本格式转换成ASCII编码,可以遍历文本中的每个字符,并查找其对应的ASCII码。

然后,将每个ASCII码转换成二进制数,存储在计算机中。

2.2 Unicode编码Unicode编码是一种更为广泛的字符编码方式,它使用16位二进制数来表示更多的字符。

Unicode编码表将每个字符映射到一个唯一的16位二进制数。

例如,字母”A”对应的Unicode码是00000000 01000001,字母”中”对应的Unicode码是01001110 00101101。

要将文本格式转换成Unicode编码,可以遍历文本中的每个字符,并查找其对应的Unicode码。

然后,将每个Unicode码转换成二进制数,存储在计算机中。

3. 应用文本格式转换成二进制在计算机科学中有广泛的应用。

二进制文件和文本文件的详细以及如何生成二进制文件

二进制文件和文本文件的详细以及如何生成二进制文件

二进制文件和文本文件的详细以及如何生成二进制文件1.文本文件:
文本文件的特点:
-文本文件的大小相对较小,因为它们使用了较少的字节来存储字符
信息。

-文本文件可以通过简单的文本读写操作进行处理。

2.二进制文件:
-二进制文件不是人类可读的,因为它们包含了非文本的二进制数据。

-二进制文件的大小通常比文本文件要大,因为它们需要更多的字节
来存储非文本数据。

如何生成二进制文件:
生成二进制文件可以通过编程语言或特定的工具来完成,下面是一些
常见的方法:
1.使用编程语言:
可以使用编程语言如Python、Java或C++来生成二进制文件。

这些
编程语言提供了操作文件和字节的功能,可以将数据以二进制格式写入文件。

例如,Python中的open函数可以以二进制模式打开文件,然后使用write方法将数据写入文件。

2.使用特定的工具:
要生成二进制文件,首先需要确定要存储的数据类型和格式,然后选择相应的工具或编程语言进行处理。

总结:
二进制文件和文本文件是计算机中常见的文件类型。

文本文件由字符组成,是人类可读的,大小相对较小;而二进制文件由二进制数据组成,存储非文本数据,不是人类可读的,大小通常较大。

生成二进制文件可以通过编程语言或特定的工具来实现。

文本格式转换成二进制

文本格式转换成二进制

文本格式转换成二进制摘要:1.文本格式与二进制格式的定义与关系2.文本格式转换成二进制格式的方法3.转换过程中的注意事项4.实际应用案例正文:一、文本格式与二进制格式的定义与关系文本格式是指计算机中存储和处理文本信息的形式,通常包括ASCII 码、Unicode 码等。

而二进制格式则是计算机中最基本的数据表示形式,由0 和1 两个数字组成。

在计算机内部,所有的数据和信息都是以二进制形式存储和处理的,包括文本信息。

二、文本格式转换成二进制格式的方法1.ASCII 码转二进制:ASCII 码是美国信息交换标准代码,用7 位二进制数表示一个字符,因此,可以将ASCII 码转换成二进制格式。

例如,字符“A”的ASCII 码为65,对应的二进制表示为01000001。

2.Unicode 码转二进制:Unicode 是全球字符编码标准,能够表示世界上所有的字符。

Unicode 编码采用16 位或32 位二进制数表示一个字符。

例如,汉字“中”的Unicode 编码为4F60,对应的16 位二进制表示为0x4F60。

三、转换过程中的注意事项1.在进行文本格式转换成二进制格式时,需要确保源文本的编码方式,例如ASCII 码或Unicode 码。

2.转换过程中可能涉及到字符集的转换,例如将GBK 编码的汉字转换成UTF-8 编码。

3.注意处理特殊字符和控制字符,这些字符在二进制格式中可能有特殊含义。

四、实际应用案例文本格式转换成二进制格式在实际应用中具有广泛的应用,例如:1.文本加密:将文本信息转换成二进制格式后,可以进行加密处理,提高信息安全性。

2.数据存储:在计算机中,文本信息需要以二进制格式存储,以便计算机进行处理。

二进制方式读取文本文件的方法-定义说明解析

二进制方式读取文本文件的方法-定义说明解析

二进制方式读取文本文件的方法-概述说明以及解释1.引言1.1 概述二进制方式读取文本文件是一种在计算机科学中常见的操作方法。

它通过以0和1的二进制形式来表示数据,与传统的基于字符的文本文件读取方式不同。

本文将讨论二进制方式读取文本文件的基本概念、方法和应用,以及总结其优势和局限性,展望未来发展方向。

通过深入了解二进制方式读取文件的相关知识,读者将能够更好地理解这一重要的文件操作方式,并且能够更加灵活和高效地进行文件读取和处理。

1.2 文章结构文章结构部分:本文将分为三个主要部分:引言、正文和结论。

在引言部分中,将简要介绍本文要讨论的主题,并说明文章的结构和目的。

在正文部分中,将分为三个部分来讨论二进制读取文件的基本概念、方法和应用。

在结论部分中,将总结二进制读取文件的优势,并讨论其局限性和未来发展的展望。

通过这样的结构,读者能够清晰地了解本文的内容并对二进制读取文件有更深入的理解。

的内容1.3 目的本文的主要目的是探讨二进制方式读取文本文件的方法。

通过深入分析二进制读取文件的基本概念、方法和应用,旨在帮助读者更深入地了解和掌握二进制文件读取的技术和优势。

同时,也将探讨二进制方式读取文件的局限性,并展望其未来的发展方向。

通过本文的阐述,读者将能够更全面地认识和理解二进制文件读取的重要性、应用价值以及可能的发展趋势,为软件开发和数据处理提供更多的思路和参考。

2.正文2.1 二进制读取文件的基本概念二进制读取文件是指以二进制的形式来解析和读取计算机文件的内容。

在计算机中,一切数据都是以二进制形式存储的,包括文本文件。

因此,通过二进制方式读取文件可以更加直接和高效地获取文件中的数据。

在二进制读取文件的过程中,文件中的数据被以连续的字节序列方式读取,并且可以以不同的方式进行解析和处理。

与文本方式读取文件不同,二进制方式读取文件直接操作文件的底层数据,可以更加自由地处理文件中的各种数据类型,包括整数、浮点数、字符串等。

C语言:文本文件和二进制文件

C语言:文本文件和二进制文件

C语⾔:⽂本⽂件和⼆进制⽂件学习了 fopen() 函数后,我们知道它的第⼆个参数是⼀个字符串,⽤来表⽰⽂件打开⽅式。

如果字符串中出现b,则表⽰以⼆进制⽅式打开⽂件;如果字符串中出现t,或者两者都不出现,则表⽰以⽂本⽅式打开⽂件。

⽂本⽂件和⼆进制⽂件的区别根据我们以往的经验,⽂本⽂件通常⽤来保存⾁眼可见的字符,⽐如.txt⽂件、.c⽂件、.dat⽂件等,⽤⽂本编辑器打开这些⽂件,我们能够顺利看懂⽂件的内容。

⼆进制⽂件通常⽤来保存视频、图⽚、程序等不可阅读的内容,⽤⽂本编辑器打开这些⽂件,会看到⼀堆乱码,根本看不懂。

但是从物理上讲,⼆进制⽂件和字符⽂件并没有什么区别,它们都是以⼆进制的形式保存在磁盘上的数据。

我们之所以能看懂⽂本⽂件的内容,是因为⽂本⽂件中采⽤的是 ASCII、UTF-8、GBK 等字符编码,⽂本编辑器可以识别出这些编码格式,并将编码值转换成字符展⽰出来。

⽽⼆进制⽂件使⽤的是 mp4、gif、exe 等特殊编码格式,⽂本编辑器并不认识这些编码格式,只能按照字符编码格式胡乱解析,所以就成了⼀堆乱七⼋糟的字符,有的甚⾄都没见过。

如果我们新建⼀个 mp4 ⽂件,给它写⼊⼀串字符,然后再⽤⽂本编辑器打开,你⼀样可以读得懂,有兴趣的读者可以⾃⼰试试。

总起来说,不同类型的⽂件有不同的编码格式,必须使⽤对应的程序(软件)才能正确解析,否则就是⼀堆乱码,或者⽆法使⽤。

fopen() 中的⽂本⽅式和⼆进制⽅式在C语⾔中,⼆进制⽅式很简单,读取⽂件时,会原封不动的读出⽂件的全部內容,写⼊数据时,也是把缓冲区中的內容原封不动的写到⽂件中。

⽂本⽅式和⼆进制⽅式并没有本质上的区别,只是对于换⾏符的处理不同。

C语⾔程序将\n作为换⾏符,类 UNIX/Linux 系统在处理⽂本⽂件时也将\n作为换⾏符,所以程序中的数据会原封不动地写⼊⽂本⽂件中,反之亦然。

但是 Windows 系统却不同,它将\r\n作为⽂本⽂件的换⾏符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二进制文件和文本文件的详细以及如何生成二进制文件?技术随笔 2010-05-01 19:13:56 阅读226 评论0 字号:大中小订阅这个问题一直困扰了很多年,可能是我没有认真的去思考。

我相信很多人可能和我一样很纠葛,到底编译器也好,汇编器也好是如何工作的呢?到底怎么回事?为什么会运行呢?这是让我们这些看着windows 学习电脑的人真的很难去理解计算机的内部结构。

其实,这一切都只是障眼法,下面我就来给大家细细说说我对计算机的理解。

解答1:编译器是怎么回事?所谓编译器,顾名思义就是将一种文本格式转换成另一种文本格式。

比如将字符串echo "hello"; 转换成printf("hello"); 这其实是php语言转成c语言的一种表示。

这只是一种简单的描述,其实很大一部分的编译器是将源语言转换成了汇编语言。

下面我们来看看 C 语言中的经典hello word,通过gcc编译后生成的汇编是怎么回事。

c语言源码:#include<stdio.h>int main() {printf("hello world\n");}通过编译器后,编译器把这个翻译成了另一套字符串,其实就是汇编语言:.file "hello.c".section .rodata.LC0:.string "hello world".text.globl main.type main, @functionmain:leal 4(%esp), %ecxandl $-16,%esppushl -4(%ecx)pushl %ebpmovl %esp, %ebppushl %ecxsubl $4, %espmovl $.LC0, (%esp)call putsaddl $4, %esppopl %ecxpopl %ebpleal -4(%ecx), %espret.size main, .-main.ident "GCC: (GNU) 4.1.2".section .note.GNU-stack,"", @progbits这就是编译器做的工作了,其实这应该可以理解是吗,其实就是从一种字符串模式到了另一种字符串模式。

但是很多人一定和我一样在思考,字符串模式的转变我会,但是从字符串转到二进制如何转?其实我们的大脑真的被这些东西所迷惑了,都错了,字符串是什么?字符串其实也是二进制啊,只不过字符串它不能执行而已。

当我们查看字符串的16进制的时候,其实和二进制的16进制一样,只是我们人为的给字符串赋予了一个abcde...这样的一层显示方式。

而二进制码之所以没有这层皮,是因为他有了另一层含义。

汇编器其实和编译器做的动作是一样的。

只是抽象的层次不同。

这里有点绕是吗?其实不绕。

当我们编译的时候,我们发现了文本文件要比可执行文件小很多,文本文件比汇编文件小6.5倍。

而比二进制要小70倍左右,也就是说一个60字节的文本文件编译成汇编是400个字节左右,再生成二进制大概是4k左右了。

那这到底说明了什么呢?其实是这样的,所谓的二进制其实和我们一般说的ASCII 中的FF,0F是一样的,只不过二进制符合的不是ASCII的这套显示或者作用标准,它采用的是计算机cpu的处理标准。

比如\x41 在ASCII中表示的是A,而到了计算机cpu那里他可能是另一个意思,那么你又会觉得奇怪,那么为什么文本可以显示,而二进制却不能呢?因为文本文件是通过文本文件查看器去重新给文本文件进行处理然后显示的,并不是我们想当然的"直接打开"就能看见,至少也要通过notepad吧?!而二进制进行运行,则是不通过其他软件的,直接丢给cpu的(当然,你也可以用notepad打开二进制文件,只不过显示的是杂乱的ASCII字符和控制符)。

有些人又会问了,错了吧,windows的二进制丢到linux下能用吗?其实这不是错,windows的二进制丢到linux下之所以不能运行,并不是二进制本身的问题,而是因为linux里没有windows的库,二进制文件运行的时候缺少必要的库才无法运行。

所谓的库,其实就是调用系统资源或者本身就是系统资源的一种程序包(比如显示,接受键盘,窗口啊,等等等等)。

和二进制代码有关的唯一的一方面其实就是cpu。

因为不同的cpu处理的二进制的指令是有区别的。

其实,说穿了,所谓的计算机软件,就是对计算机硬件的一次次的抽象,让它更接近于人类的思考方式和使用习惯。

这其实和我们生活中的很像,比如,我们把硬件比作是树木(当然硬件的材料属性并非木头的属性,它的属性比木头要更全面,可以很坚硬可以很柔软),那么二进制就是木头,可是木头毕竟只是木头,虽然是很好的材料但是单单一颗木头有什么用呢?于是,就有一些最早的程序员用手去处理这个木头,做出了一些简单的凳子椅子。

于是程序员们就像,不如用做出一个木头匕首来切木头,这样不是比手抓更好吗(我前面说了硬件的属性比木头更全面,可以很硬也可以很软)?汇编就好比是这么一个匕首。

用着用着,人们觉得匕首砍木头,虽然可以做出很精细的东西,但是砍大件不行,于是就用匕首加上手工制作出了一把短刀,这就是C语言吧,然后他们在短刀里增加了一些齿牙,让比短刀更有杀伤力,这就是C++。

可以他们发现,这个短刀虽然好,但是它只能砍一种树(因为这种树的木头做的短剑只能砍这种树),于是他们用两种木头各做了一面做了一把短剑,短剑虽然有两面,但是剑的杀伤力明显比刀要小。

这就是我们说的Java。

那么操作系统是什么呢?操作系统我们可以理解为一个工具包,这个说明书里面写了各种用木头制作工具的说明并且提供了很多基础工具和小配件(我们看起来是不是很像木匠了,桌面上放了许多用木头做的小工具)。

然后我们要做的就是用这些配件和工具来做出我们的板凳啊,家具啊,各种各样的东西。

二进制文件和文本文件详解2010-07-30 19:10:00| 分类:C++ | 标签:二进制文件存放文件换行文本|字号大中小订阅对于文件操作中的二进制文件和文本文件的读写,相信还有很多人有疑问,这两种方式有什么不同呢?首先我们记住文件只是计算机内存中以二进制表示的数据在外部存储介质上的另一种存放形式,对于文本文件来说,它只是一种特殊形式的文件,它所存放的每一个字节都可以转换为一个可读的字符,就是说文本文件存放数据时,存放的是字符的ASCII码。

有点需要注意,按照文本方式向文件中写入数据时,遇到“换行”符,则会转换为“回车-换行”符,存储,即当存放10(换行符)时,在文件中会存放13 (回车)和10(换行),同时存储的文件就多了一个字节了,而读取文件的时候,遇到13和10,也会合成ASCII10即换行符读取,而当按照二进制文件模式向文件中写入数据时,就会按照数据在内存中的存储形式原样输出到文件中,即存放10时,不会转换为13和10,所以如果以二进制方式向文件写入10时,当以文本方式(例如记事本)打开文件时,看到的会是一个小黑快,而不是换行符,因为在文本文件中,只有遇到13 和10的组合时才会转换为换行符。

为了加深理解,我们来看一道常见的面试题:给你一个整数,例如123456,将这个整数保存到文件中,要求当用记事本打开文件时,显示的是123456。

应该怎么想这题呢?首先记事本是属于文本模式的,所以会将数据作为ASCII码,然后转换为对应的字符,所以在存入数据的时候必须是存放123456这几个字符对应的ASCII码;看看123456各个字符对应的ASCII码:“1” ->49;"2" ->50;......."6" ->54;所以在存入数据的时候,我们应该存入的是49-54几个数字,那样在存的时候我们就有不同选择了。

1、创建一个int型数组,把49-54几个数字分别赋给数组中的元素,2、创建char型数组,直接把1-6几个字符赋给数组元素。

这样结果都是正确的。

最后总结一下,二进制文件存放的就是数据的原始形式,而文本文件存放的就是数据的ASCII码。

用二进制方式存放的数据,可以用文本模式打开,相反亦然。

但是,我们要避免这样做,因为就想上面所说的,当遇到10的时候,这两种模式的处理方式就不一样,所以我们应该用什么模式存放的数据就用什么模式打开。

关于linux和windows的CR, LF, CR/LF 回车换行问题博客分类:NO分类在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.Dos和windows:采用回车+换行CR/LF表示下一行.UNIX/Linux :采用换行符LF表示下一行.MAC OS :采用回车符CR表示下一行.CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D;LF用符号'\n'表示, 十进制ASCII代码是10, 十六制为0x0A.所以Windows平台上换行在文本文件中是使用0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.一般操作系统上的运行库会自动决定文本文件的换行格式. 如一个程序在windows上运行就生成CR/LF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件。

在一个平台上使用另一种换行符的文件文件可能会带来意想不到的问题, 特别是在编辑程序代码时,有时候代码在编辑器中显示正常, 但在编辑时却会因为换行符问题而出错。

很多文本/代码编辑器带有换行符转换功能, 使用这个功能可以将文本文件中的换行符在不同格式单互换。

在不同平台间使用FTP软件传送文件时, 在ascii文本模式传输模式下, 一些FTP客户端程序会自动对换行格式进行转换。

经过这种传输的文件字节数可能会发生变化。

如果你不想ftp修改原文件, 可以使用bin模式(二进制模式)传输文本。

表一:标志CRLF符号十进制Ascii码数十六进制数\r130x0D\n100x0A表二:标志换行Win/Dos linux,Unix等\r\n(<CR><LF>)\n(<LF>)所以在用println函数的时候,导致的换行在不同操作系统中可能不一样,在windows下表现的是“\r\n”,使用的时候要注意。

相关文档
最新文档