为什么读取文本文件需要字节级函数?

时间:2012-05-02 19:25:52

标签: programming-languages

为什么读取文本文件需要字节级函数。我的意思是毕竟它是一个包含字符串数组的文件。那么为什么它不能直接存储在字符串中。为什么需要使用任何语言(java,c,c ++或as3)字节级函数来读取它们?

如果我可以做这样的事情可能会更容易:

var a_str:String = new String();

var myFile:File  ;

a_str = String( myFile.read("xyz.txt") ) ;

trace ( a_str ) ; // << content of the file xyz.txt 

4 个答案:

答案 0 :(得分:1)

因为并非所有文本都是平等的。一些较旧的字符集用单字节字符表示,而其他字符集是多字节的。因此,每个编写器必须能够操作字节,而不仅仅是字符。

答案 1 :(得分:0)

如何使用字符存储文件结尾?对于您可以想到的任何合理长度的字符序列,它可能会出现在文本中并被视为文件的结尾并过早地结束文件。

答案 2 :(得分:0)

简短的回答?内存通常是字节可寻址的,因此读取文件时您会期望同样的事情。在大多数C风格的编程语言中,字符串通常只是一个字节集合,通常以空字符NUL(0x00)结尾。

答案 3 :(得分:0)

有很多语言可以将整个文件读入字符串。 Python可以;我很确定Perl可以。该功能建立在较低级别的功能上,当然是一次一个字节地读取文件(或者更确切地说,作为一个字节序列,无论是否提供更大的块)。

如果您不喜欢使用的工具,请选择更好的工具。