C++跨平台编码文件格式问题
来源:互联网 发布:淘宝联系客服代码 编辑:程序博客网 时间:2024/06/05 15:20
跨平台编码方案:visual gdb + vs2012 + visaul assist x
windows 上的默认文件格式和 Linux 上的还有差别的。这会引发一些莫名其妙的 bug,例如乱码等等。遇到问题,所以总结了一些小技巧:
一、换行符问题:
SVN 提交代码的时候,会发现代码行末尾图标有改动,这是换行符发生改变。是跨平台编写代码导致的。在 windows 平台上写 linux 平台上的代码,可以用 NotePad++ 打开文件,进行替换(ctrl+h 快捷键)
二、GBK 转换 UTF-8 文件
linux 环境文件都是默认utf8 格式,windows 平台默认 GBK(GB2312),很多同学喜欢在 windows平台右键新建文件,那么这个文件默认就是 GBK 格式的;GBK 格式的源码文件里面的汉字在 linux 平台下通常是乱码,如果代码逻辑里有汉字,那么下发终端会导致乱码,所以 GBK 要转 UTF-8,可以通过 NotePad++ 进行修改。所以团队成员在 windows 平台新建服务器文件,一般都是禁止的。
三、NotePad++ 新建文件格式设置
避免 windows 平台下右键新建文件带来的源码编码格式不正确问题,可以用 NotePad++ 进行新建文件,设置默认的格式,如下图。
四、UTF-8 文件差异
代码提交前,须要比对文件的差异,这是编码的良好习惯。svn 对比是一个很好的工具,有时候通过工具,我们可能只关注到颜色比较鲜艳的差异,有些细微的差异却忽略了。例如带 bom 和不带 bom 的 utf8 文件。有的系统环境,对这些文件要求比较严格,可能引发不可预料的问题。所以提交代码后,也要注意这个地方。
五、VS 系列换行符显示插件
五、LINUX 转换文件格式 gbk 转 utf8
linux 平台命令转换,用 dos2unix 插件,没有就 yum 安装
find . -regex '.*\.h\|.*\.hpp\|.*\.cpp'-exec dos2unix {} \;
六、linux 命令行转换,将源码文件 tab 替换为 4 个空格。
find . -regex '.*\.h\|.*\.hpp\|.*\.cpp' !-type d -exec bash -c 'expand -t 4 "$0" > /tmp/e && mv/tmp/e "$0"' {} \;
- C++跨平台编码文件格式问题
- 跨平台的中文编码问题
- Symbian平台编码问题
- 跨平台c/c++编码的预定义宏
- 编码的问题--编码有三种(页面编码,文件格式的编码,后台处理所使用的编码)
- Linux和Windows平台文件编码问题
- 关于不同平台下的编码问题
- java平台的编码问题 getByte()所用编码
- 跨平台 字符集编码问题 C++ PHP互通字符集的问题
- 关于C#GB2312编码问题
- 编码问题(QT、C++)
- C,JAVA程序编码问题
- 最长平台问题 C实现
- C++字符串常量跨平台编译问题(与字符串编码相关)
- C++字符串常量跨平台编译问题(与字符串编码相关)
- Bencode编码及torrent文件格式
- 关于编码问题以及不同平台编码及string与编码的关系
- 跨平台C/C++wxWidgets
- 网站版权声明的© xxxx-yyyy每当年份更新时系统自动更新yyyy
- 递归方法实现二分查找法
- 课程设计3——电子词典
- Android开发之百度地图申请key规范和230,200,no config chosen分析解决办法。
- 【认证】【DVB】D-Book认证介绍与总结
- C++跨平台编码文件格式问题
- 微信小程序学习笔记一
- idm 添加 vivaldi 浏览器支持
- Bulk Insert:将文本数据(csv和txt)导入到数据库中
- fork原理及服务器应用
- python进阶 python中的高阶函数
- 针对vs2013运行项目无法打开.lib文件的解决方案
- 微信小程序开发的适合领域
- delphi2010 窗体使用技能总结