废话不多说,还是先说点吧,项目中lua读取的text文件如果有BOM,客户端解析就会报错,所以我看了看,任务编辑器swGameTaskEditor 在写入文件的时候,也不知道为什么有的文件就是UTF-8BOM格式;但一般都是 UTF-8 无BOM的。

还是从lua改起来吧。搜了一搜,没搜索到直接可以使用的代码。

本来想用

    string.gsub(mainString,findString,replaceString,num)

来替换\xEFBBBF为空。不过 \xEFBBBF 这种表示方法,lua貌似不认,会报错,加上引号怎么就成了字符 EFBBBF了呢?

干脆找找 lua 是如何处理二进制文件的。

找了点资料,没用二进制,还是用string本身的功能来实现的:

-- 检测前三个字节是否是 EF BB BF 也就是BOM标记;如果是就去掉,只保留后面的字节。function TryRemoveUtf8BOM(ret)if string.byte(ret,1)==239 and string.byte(ret,2)==187 and string.byte(ret,3)==191ret=string.char( string.byte(ret,4,string.len(ret)) )endreturn ret;
end

这样就好了。随时都可以调用了。。。可以加上 print("ret="..ret);打印出来,并用 vim - 通过管道来读取stdout,vim会显示

<feff>

可以使用下面语句测试:

lua -e "print('aaaa'..string.char(239,187,191)..'with utf-8 BOM bytes in content')"

转载于:https://www.cnblogs.com/ayanmw/p/6700842.html

lua去掉字符串中的UTF-8的BOM三个字节相关推荐

  1. C# 使用正则表达式去掉字符串中的数字

    C# 使用正则表达式去掉字符串中的数字 /// <summary> /// 去掉字符串中的数字 /// </summary> /// <param name=" ...

  2. C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字

    /// 去掉字符串中的数字 public static string RemoveNumber(string key)           {               return Regex.R ...

  3. php去字符串空格,php怎么去掉字符串中空格

    php去掉字符串中空格的方法:1.使用正则表达式删除字符串中间的空格及去除字符串首尾空格:2.使用str_replace和strtr函数删除字符串中间的空格:3.使用trim函数去除一个字符串两端空格 ...

  4. js去掉字符串中的所有空格

    1.使用js去掉字符串中的所有空格 1.1.定义一个去空格函数方法 function Trim(str,is_global){var result;result = str.replace(/(^\s ...

  5. php取掉字符串第一位支付,php怎样去掉字符串中的第一个字符

    php去掉字符串中的第一个字符的方法:可以利用substr()函数来实现.substr()函数可以返回字符串的提取部分,如果失败则返回false,或者返回一个空字符串. substr() 函数返回字符 ...

  6. C#如何去掉字符串中所有空格

    由于空格的ASCII码值是32,因此,在去掉字符串中所有的空格时,只需循环访问字符串中的所有字符,并判断它们的ASCII码值是不是32即可.去掉字符串中所有空格的关键代码如下: testCharEnu ...

  7. ios去掉字符串中的某个字符_iOS如何过滤掉文本中特殊字符

    如果需要去掉字符串中特殊的字符可以调用NSString的 stringByTrimmingCharactersInSet的方法: - (NSString *)stringByTrimmingChara ...

  8. 去掉字符串中的所有空格

    要去掉字符串中所有的空格,思路很自然:碰到一个空格,将其删掉,然后后面的字符前移,但当空字符比较多的时候,总这么移动,难道不复杂么?还是想想另外的办法吧. 上面的方法时间复杂度比较高,下面,我们用空间 ...

  9. java去掉字符串的空格_如何去掉字符串中的空格?

    问题阐述 去掉字符串首尾的空格非常简单,使用trim()方法即可实现,但是如果要去掉字符串中的空格,应该怎么实现呢? 专家解答 Java 中没有提供直接去除字符串中空格的方法,要想去除字符串中的空格, ...

最新文章

  1. 关于vmware workstation10常见问题
  2. linux top交叉编译_Linux 系统下ARM Linux交叉编译环境crosstool工具
  3. GitHub.com上的那些东西你都知道什么意思吗?
  4. java 一个整数的位数字_Java 输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)...
  5. 避免从单体到分布式单体
  6. c 输出空格_C/C++知识分享:C++常用内置函数你会几个,使用过几次呢?
  7. 太极图正确画法_认识道教太极图,了解正规画法
  8. java中priorityqueue_详解JAVA中priorityqueue的具体使用
  9. (3)通过输入参数(测量数据)构建三维体模型(02)
  10. Python爬虫之(四)urllib库的高级用法
  11. php传引用和全局变量
  12. 【大数据部落】R语言基于决策树的银行信贷风险预警模型
  13. yum安装Elasticsearch5.x
  14. 【优化算法】闪电连接过程优化算法(LAPO)【含Matlab源码 1444期】
  15. 20多岁的一无所有,其实是理所应当的
  16. Flexbox中英文手册
  17. PDF 全部转为图片再用百度AI接口识别表格
  18. 如何扩大电脑c盘分区,c盘空间不足怎么扩容
  19. 构建风控评分卡模型介绍(WOE/KS/ROC)
  20. 模拟买一台计算机及装机心得,装机模拟器显卡及处理器超频影响因素分析 超频体验心得_游侠网...

热门文章

  1. android NDK c++ library
  2. 聊起 BigTable,让你不再胆怯
  3. FIR定点提高精度的trick_02
  4. python怎么创建虚拟环境_anaconda怎么创建python虚拟环境
  5. 重构 pdf_三维温度场的重构方法,更准确地监测储能系统的电池堆内部温度
  6. 一些图形学中的数学应用
  7. java set去重复元素_java List去掉重复元素的几种方式
  8. Unity中BVH骨骼动画驱动的可视化理论与实现
  9. 对js数组去重的研究
  10. 一步一步教你实现iOS音频频谱动画(一)