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

  • 相关阅读:
    azkaben任务调度器
    HQL练习
    Hive基本操作
    Spark cache、checkpoint机制笔记
    2021年元旦云南之旅
    2020年总
    Windows Server 2016 如何恢复.NET Framework 4.6
    numpy和tensorflow中的广播机制
    查看spark RDD 各分区内容
    Spark RDD的默认分区数:(spark 2.1.0)
  • 原文地址:https://www.cnblogs.com/Fflyqaq/p/14124941.html
Copyright © 2011-2022 走看看