Java入门之编码GBK映射问题

你是不是想问,我直接复制人家的代码来运行,为啥也会出错呢?

原因很简单,windows系统的记事本和word都是默认使用GBK编码格式(虽然windows系统底层是Unicode编码,但此处讨论取决于你安装的镜像发行版),但我的Sublime默认使用UTF-8,同样是中文”我爱你”,在sublime和windows的记事本中总会有一个乱码!

这也是为什么说建议用notepad++学习而不是记事本的原因。现在外面几乎都规定用UTF-8作为标准。据我所知,记事本使用时候是没有编码设置的(保存时候可以选择保存为UTF8编码格式),但是sumline有个自动转换GBK为UTF-8的插件。

如果人家用windows系统记事本或者word写段c或者java程序代码给你,巧了,你用vc6.0可以完美运行(VC6.0基于vb和.Net,也是微软旗下产品),你很开心。

但是mac和linux平台这段代码就有可能不行了。先不说跨平台,跨个IDE吧,你发给我, 我也用windows系统,但就是运行不了你这个程序,为啥呢??

答案还是编码!编辑器设置好了默认编码,sublime默认是utf8,notepad++每次打开要设置编码(据我所知每次都要)!

下面的俩例子是我亲身体验:如果是C/C++程序,能成功编译和运行(因为写代码部分都被统一为英文,注释和输出提示可能为中文,会乱码),printf和cout函数中的中文会乱码,所以建立大家注释和提示都使用英文。

如果是java,使用dos命令编译时,会提示java错误”:编码GBK的不可映射……编码,看清楚哦,Java不能通过编译,C/C++是可以的啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值