在Matlab中,使用英文文本文件,如何加载文件并获取矩阵作为ASCII编码结果?

时间:2013-11-26 15:08:03

标签: matlab ascii

首先,这是一个非常简单的例子:

在文本文件('test1.txt')中,内容为:

正式,

我想得到的是一个ASCII编码结果的数组,如:

dat_ascii = [70 111 114 109 97 108 108 121 44 32 116 104 101]

在结果中,每个字符都被转换为ASCII码,甚至是空格和普通字符。

现在我有一个10MB的文本文件,带有英文文本。我想读它并将每个char转换为ASCII码并将它们放入一个矩阵中(每行4096个字符,多行)。

我怎样才能在Matlab中做到这一点?

2 个答案:

答案 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