解决java “错误:编码GBK的不可映射字符 (0xBD)“原创

本文讲述了在Java编译过程中遇到的编码问题,如何通过指定编译指令为UTF-8和另存为ANSI编码来解决源代码中包含GBK不可映射字符的错误。介绍了UTF-8和ANSI编码的区别,以及在信息技术中的应用背景。
摘要由CSDN通过智能技术生成

public class myname{
  public static void main(String[] args){
    System.out.println("小徐爱编程");
  }
}

通过DOC进行编译, 提示:错误:编码 GBK 的不可映射字符 (0xBD)

检查源码未发现语法错误

尝试在源代码中加入 set names_gbk;

通过DOC编译,结果同上

尝试失败,撤销尝试内容。

解决方法:

方法一:编译指令使用 javac -encoding UTF-8 myname.java 可以正常编译运行

方法二:将记事本文档另存为ANSI编码 再javac myname.java 编码运行 可以正常运行

说明:

UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与 ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部分修改后,便可继续使用。因此,它逐渐成为 电子邮件 网页及其他存储或传送文字的应用中,优先采用的编码。

ANSI是一种字符代码,为使计算机支持更多语言,通常使用 0x00~0x7f 范围的1 个 字节来表示 1 个英文字符。超出此范围的使用0x80~0xFFFF来编码,即扩展的ASCII编码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值