首先,这是一个非常简单的例子:
在文本文件('test1.txt')中,内容为:
正式,
我想得到的是一个ASCII编码结果的数组,如:
dat_ascii = [70 111 114 109 97 108 108 121 44 32 116 104 101]
在结果中,每个字符都被转换为ASCII码,甚至是空格和普通字符。
现在我有一个10MB的文本文件,带有英文文本。我想读它并将每个char转换为ASCII码并将它们放入一个矩阵中(每行4096个字符,多行)。
我怎样才能在Matlab中做到这一点?
答案 0 :(得分:0)
您可以使用以下命令轻松转换ASCII中的所有内容:
double
,你只需要加倍你的字符串。
要恢复它,只需执行char
示例:
myStr = 'I have 2 apple.'
myStr =
I have 2 apple.
myASCII = double(myStr)
myASCII =
73 32 104 97 118 101 32 50 32 97 112 112 108 101 46
myChar = char(myASCII)
myChar =
I have 2 apple.
答案 1 :(得分:0)
为了在MATLAB中读取文本文件,您需要打开文本文件并阅读
>> filePtr = fopen('test1.txt')
然后使用文件指针读取数据并转换为ASCII值:
>> ASCIIValues = double(textscan(filePtr, '%c')); ASCIIValues{:}
注意:尝试读取文本文件时,请使用相应的格式设置参数。就我而言,我忽略了所有的空白。有关文档,请阅读http://www.mathworks.com/help/matlab/ref/textscan.html