matlab处理中文路径

https://www.douban.com/note/387532266/


matlab读取文本文件很方便,textread,textscan等就能搞定。如果整个文件仅包含数字,则有更方便的命令"load".
但是一旦文件包含中文,则往往读出来的是乱码。
经过搜索测试,发现救命稻草:指定编码格式的fopen命令。原文:http://www.ilovematlab.cn/thread-160275-1-1.html
fileID = fopen(filename, permission, machineformat, encoding)
machineformat默认为'n',='native'
encoding就是编码。要想正确读取,需要保证文件保存时的编码格式与读取所用的编码格式相同。汉字常用的是UTF-8,其他还有Big5,GBK等。
如果不确定保存时所用的编码,则可采用'r+'作为permission参数,据说会采用默认的文本编码格式。
fid=fopen('filename','r+','n','utf-8');
tline=fgetl(fid);
while tline
  tline=fgetl(fid);
fclose(fid)
即能逐行读入整个文本文件。

不过,上述方法有可能出现无限循环,原因可能是没有正确识别文件终止符;并且字符串前可能多出"?". 经测试,native2unicode命令可解决此问题。以下代码能够正确输出整个文件并终止:
fid=fopen('filename','r+','n','utf-8');
tline=fgetl(fid);
tline=native2unicode(tline);
while tline
    tline=fgetl(fid);
    tline = native2unicode(tline);
    disp(tline);
end
fclose(fid);

更多测试或细节待补充。

补充1:将permission设置为'r+'并不能识别未知编码的文本文件。对于未知编码的文件,一个简单的方法是利用记事本打开,然后另存为。。。,选择utf-8编码,即可保证保存与读取的编码统一。

补充2:看到一段:(中文)Windows系统默认字符编码是GBK(称为系统内码),所有的文字都使用GBK显示!保存的时候将按选择的字符编码进行编码转换(系统内嘛-->指定编码)。复制的时候所有的文字编码也都是系统内码。

补充3:fopen所支持的编码列表:http://www.mathworks.se/help/matlab/ref/fopen.html#inputarg_encodingIn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core 3.1 编写混合 C++ 程序

前言随着 .NET Core 3.1 的第二个预览版本发布,微软正式将 C/CLI 移植到 .NET Core 上,从此可以使用 C 编写 .NET Core 的程序了。由于目前仅有 MSVC 支持编译此类混合代码,并且由于涉及到非托管代码,因此 C/CLI 目前不能跨平台&a…

ubuntu 16.04 安装 python2.7 以及 cv2, dist-package 和 site-package 的区别, import cv2 出问题解答

ubuntu16.04默认安装python3以上,需要手动安装2.7。1、先确保make、gcc、g已经安装好,如果没有则需要先安装这三个程序,均使用apt-get的方式直接装; 2、下载python2.7包:wget https://www.python.org/ftp/python/2.7.1…

在ASP.NET Core中编写合格的中间件

这篇文章探讨了让不同的请求去使用不同的中间件,那么我们应该如何配置ASP.NET Core中间件?其实中间件只是在ASP.NET Core中处理Web请求的管道。所有ASP.NET Core应用程序至少需要一个中间件来响应请求,并且您的应用程序实际上只是中间件的集合…

nvcc找不到的问题(Ubuntu16.04 CUDA 8.0)

http://blog.csdn.net/rtygbwwwerr/article/details/73656876在terminal中输入nvcc,也是提示找不到command。但是可以确定的是,CUDA8.0,以及nvidia-cuda-toolkit已经从官方网站下载并正确安装。 于是网上找了教程,说是需要在termi…

全网首发 PowerBI 秒级实时大屏通用解决方案

双十一来了,你准备好了吗?不管你是否准备完毕,我们带来了全网首发的 PowerBI 秒级实时大屏展示方案,你可以直接用来展示双十一的实时状况。我们一步步来说明这个套件模板教程。真实效果功能如下:全实时展示 双十一 当天…

windows 编译 caffe unresolved externals 问题

windows 10 编译基于 caffe 的工程, 由于github上作者所用到的版本各不相同,版本是导致问题的根本。 遇到 LNK20xx error unresolved externals,先找是哪个.obj 造成的, 这种link问题是由声明不正确造成的,我们找到那个…

普大喜奔 | Azure 免费送网站SSL证书啦!

点击上方蓝字关注“汪宇杰博客”导语就在今晨,微软推出了 App Service Managed Certificates 预览版。简单来说,这就是在 Azure App Service 服务的一项更新,免费送你SSL证书!只要点几下鼠标就能给网站加上SSL证书!并且…

VS Code 1.40 发布!可自行搭建 Web 版 VS Code!

今天(北京时间 2019 年 11 月 8 日),微软发布了 Visual Studio Code 1.40 版本。让我们来看看有哪些主要的更新。自建 Web 版 VS Code 如果你已经下载了 VS Code 在 GitHub 上的源代码,只需运行 yarn web,就能在 http:…

Visual Studio 2013 error MS8020 Build tools v140 cannot be found 解决系统 不同部分软件 所依赖编译器版本不同的矛盾

系统中一部分软件依赖VS 2013,另一部分依赖VS2015, 我们需要修改其中任一部分的编译器选项 https://stackoverflow.com/questions/31792663/visual-studio-2013-error-ms8020-build-tools-v140-cannot-be-foundTo change your Platform Toolset: Right c…

超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本

超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本前言上一篇自动化测试,全面且详细的介绍了从零开始到发布版本的步骤,这是传统的方式,本次为大家带来的是如何在5分钟内使用上docker进行CI/CD,毕竟现在的容器化如火如荼&am…

ImportError: No module named google.protobuf.internal

conda install -c distributions libprotobuf2.5.0 or sudo apt-get install protobuf

.NET Core 又一杀器! Web Blazor框架横空出世!

多年来,Javascript(及其子框架)已在浏览器中运行DOM(文档对象模型),并且掌握了脚本知识才能真正操作客户端UI。大约2年前,所有这些都随着Web Assembly的引入而发生了变化-Web Assembly允许在客户…

./include/caffe/util/cudnn.hpp: error: too few arguments to function ‘SetPooling2dDescriptor

https://blog.csdn.net/tianrolin/article/details/71246472 这是由于所使用的cuDNN版本不一致的导致的,作者配置环境是cuDNN 4.0,但是5.0版本后的cuDNN接口有所变化。 解决方法 :将以下几个文件用最新BVLC版本的caffe对应文件替换并重新编译…

.NET Conf 2019 今天在上海开幕,图片直播地址

.NET Conf 2019 在上海开幕,全程提供图片直播:https://vzan.com/live/tvchat-1099246581下午的分会场内容如下:上午有个直播 ,请阅读原文访问https://vzan.com/live/tvchat-1099246581 。

NPOI 导出 excel 性能测试

NPOI 导出 excel 性能测试Intro网上看到很多人说 NPOI 的性能不行,自己写了一个 NPOI 的扩展库,于是想尝试看看 NPOI 的性能究竟怎么样,道听途说始终不如自己动手一试。测试环境测试工具:BenchmarkDotNet v0.11.5EPPlus.Core.Exte…

caffe安装常见问题

https://blog.csdn.net/u012576214/article/details/68947893解决办法是依据出现错误的顺序而给出的,为了方便,可以直接先执行所有解决办法后再安装caffe。 1. ./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: No such file or directo…

Asp.Net Core 单元测试正确姿势

背景ASP.NET Core 支持依赖关系注入 (DI) 软件设计模式,并且默认注入了很多服务,具体可以参考 官方文档, 相信只要使用过依赖注入框架的同学,都会对此有不同深入的理解,在此无需赘言。然而,在引入 IOC 框架之后&#x…

ubuntu 通过 海康sdk调用摄像头抓图片

https://blog.csdn.net/ding977921830/article/details/75272384 在本文中我的电脑是使用的Ubuntu16.04 64位,使用工具是QT5.7.1,opencv2.4.9.一、根据电脑的型号下载海康威视的SDK包网址:http://www.hikvision.com/cn/download_61.html。我的…