gpt4 book ai didi

matlab - Matlab 中的波斯文件名或字符?

转载 作者:行者123 更新时间:2023-12-02 04:17:29 25 4
gpt4 key购买 nike

我想读取名称为波斯语(波斯语)的 .csv 文件的内容。 Matlab 似乎无法检测到这个文件。我使用这行代码:

a = csvread( <Persian filename> );

最佳答案

我怀疑这是通过命令行和编辑器将字符输入 Matlab 字符串值的问题。 Matlab GUI 是用 Java 实现的,因此它内部使用 Unicode 字符串。 Matlab char 值是 16 位 Unicode。但是,当您保存 M 文件时,它可能会以您在 Matlab 或您的语言环境中设置的字符编码形式保存。并且您在 Matlab GUI 中使用的字体可能不支持文件名中的字符,因此您可能会看到“?”即使字符串值内部正确,也会在命令提示符处显示符号或其他占位符。

NTFS 文件系统以 Unicode 存储其文件名,因此数据级别的字符编码不应成为访问文件本身的问题。它只会影响文件内容的解释方式。

如果您只需要以交互方式执行此操作一次,则可以使用 uigetfile 以交互方式选择文件来绕过字符串输入问题。

a = csvread( uigetfile() );

您还可以使用波斯语命名的文件的简单“8.3”文件名来获取它。在 Windows 命令提示符处,使用 dir/x 来查看与长文件名相对应的短 8.3 文件名。它们是简单的 ASCII 字符,因此您可以毫无问题地将它们输入到 Matlab 命令窗口或编辑器中。例如,我创建了一个名为 Фадиз.txt 的文件,它的 8.3 名称为 6448~1.TXT

08/09/2013  01:10 AM    <DIR>                       .
08/09/2013 01:10 AM <DIR> ..
08/09/2013 01:10 AM 0 6448~1.TXT ????.txt

作为编程访问的测试,只需尝试使用 f = dir(); 提取目录中的所有文件名(不是 f = system ('dir')),查找您想要的字符,然后将其传递给 csvread,这样所有字符都不必通过 GUI 文本区域。

关于matlab - Matlab 中的波斯文件名或字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com