关于windows与unix之间文件格式转换问题。UE编辑器中(CR/LF)问题

本文介绍了在Windows和Unix之间进行文件格式转换时遇到的CR/LF问题,特别是在UE编辑器中的表现。通过人工清除法和一劳永逸法,提供了解决^M字符的方法,包括在UE中配置文件处理选项以适应Unix环境。此外,还提到了使用svn时如何设置自动属性以避免^M问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

 

     对于我们来说在windows下编码的直观和操作简单方便,不用记大量的编辑命令,动动鼠标就OK了。 但是对于我们这些工作在Unix下

 

的开发者来说,我们习惯于在windows下编辑,然后同步到unix下。 

 

     也许你会发现当你把创建的文件以二进制的方式传到unix下,并打开,会在每行的最后多了一个^M字符。 文件小,我们可以手动删

 

除。 如果文件内容很多呢, 我想你一定不会选择这种方式。

 

   为什么会出现这个字符? 我们比较熟悉的是windows下,在每一行都会有一个回车换行符(CR/LF)。但在unix下换行只有一个LF字

 

符(/n ascii码 10)。这个显示出来的字符,就是在windows下多了的回车符'/r'(ascii码 13)。

 

   我习惯用UE编码,所以讲下在UE下的设置,解决上面出现的^M字符。

 

1. 人工清除法:

   

    使用UE命令,去掉'/n'。当编辑完上传前,使用“格式”-》“转换回车符为换行”命令,手动转换。

 

    优点:区别对待dos文件格式和unix文件。 缺点:效率低,麻烦每次都要转换,一不小心就杯具。 建议:可以偶尔为之

 

      在unix下使用vi打开文件,使用以下命令可以一次性删除所有的^M字符:

      :%s/^M//g 

 

      在unix下输入^M字符的快捷键:ctrl+v+m

 

2. 一劳永逸法:

 

    UE默认下,每次打开Unix下的文件会询问是否转换为DOS格式。(每次都很烦的点否)。如果你和我一样,你可以打开菜单栏上的“高

 

级”-》“配置”-》“文件处理”-》“DOS/UNIX/MAC处理”。 将选项“新建文件的默认文件类型” 设为“UNIX”, “UNIX/MAC文件

 

检测/转换” 设置为“禁用”。其它默认。

 

   效果:每次打开unix文件不会提示转换, 完全和unix兼容,新建的文件可以直接传到unix下,不用担心出现^M字符。

 

   优点:高效,方便。 缺点:新建的文件在windows记事本编辑器下,是没有换行的, 少'/r' 回车符。

 

   建议:经常用UE编辑Unix文件的人使用。

 

  note:如果用UE打开了一个Unix格式的文件,编辑完保存后还是Unix格式的文件。UE默认情况是保存为输入文件的格式。

 

3. 使用svn上传DOS格式文件到Unix服务器时^M解决方法:

 

   WINDOWS下

 

  %USERPROFILE%/AppData/Roaming/Subversion/config,打开此文件。修改一下内容

 

  enable-auto-props = yes

 

   *.c = svn:eol-style=native
   *.mk = svn:eol-style=native
  *.cpp = svn:eol-style=native
  *.h = svn:eol-style=native
  *.dsp = svn:eol-style=CRLF
  *.dsw = svn:eol-style=CRLF
  *.sh = svn:eol-style=native;svn:executable
  *.txt = svn:eol-style=native
  *.png = svn:mime-type=image/png
  *.jpg = svn:mime-type=image/jpeg
  Makefile = svn:eol-style=native

 

只是将以上几行的注释去掉了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值