zoukankan      html  css  js  c++  java
  • lua在控制台运行时的乱码问题




    参考博客:
    维1
    艰苦奋斗中

    1、编码方式介绍:

    1. ASCII
      ASCII码可以表示所有的英语字符(字母、数字、标点符号等)。ASCII码是7位编码(0-127),但由于计算机基本处理单位为字节(1字节=8位),所以一个ASCII字符占一个字节

    2. Unicode
      因为一个ASCII字符只能表示256个字符,显然是存在着局限的(如不能用来表示中文)。而且不同的语言有不同的字符,为了让世界上所有的字符都有一个唯一的编码值(如果一个编码值对应多个字符,就会出现歧义),就出现了Unicode码。Unicode码可以容纳100多万个符号,每个符号的编码都不一样。但是Unicode码的缺点是效率不高,比如UCS-4(Unicode的标准之一)规定用4个字节存储一个符号,那么每个英文字母前都必然有三个字节是0,原本只需1个字节现在却用了4个字节,这对存储和传输来说都很耗资源。

    3. GBK编码
      GBK编码是国内自己设计的,GBK中一个汉字占2个字节。,国内window电脑下cmd的默认编码就是GBK。
      但是如果外国人用的时候,就会出现乱码情况。

    4. UTF-8
      为了提高Unicode的编码效率,于是就出现了UTF-8编码。UTF-8可以根据不同的符号自动选择编码的长短。在UTF-8中,一个英文占1个字节,一个中文占3个字节
      外国人用也不会出现乱码,这是西方人为了多字节字符形成的解决方案。
      程序开发中一般我们使用的默认编码就是UTF-8

    2、lua在控制台输出时出现乱码问题

    国内window cmd下默认编码时GBK,而写lua脚本时使用的默认编码是UTF8,所以就出现了乱码问题。

    • 解决方法1:修改lua文件的编码方式为GBK。
      如果使用的是VSCode,在右下角处可以点击选择要保存的编码方式。


    或者直接在我的电脑里面选择lua文件,右键-另存为-选择编码方式。

    • 解决方法2:临时修改控制台编码
      在控制台界面输入chcp 65001,则可以把当前界面暂时改成UTF-8编码,退出则失效。

    • 解决方法3:永久修改控制台编码
      比较麻烦,并且也没太大必要,详细可以看大佬博客。
      https://blog.csdn.net/gulang03/article/details/81771343

  • 相关阅读:
    HDR算法(一)
    机器视觉话题入门资料---能看懂大致原理再去纠细节
    WRT callback
    dependency of static library
    dll 和 lib--初级
    memory corruption
    Python~函数的参数
    Python~函数
    Python~if,while,for~顺序,判断,循环
    Python~list,tuple^_^dict,set
  • 原文地址:https://www.cnblogs.com/Fflyqaq/p/14124941.html
Copyright © 2011-2022 走看看