关于Java进阶,Java中的国际化

本文介绍了Java中的国际化和本地化概念,包括语言编码、国家/地区编码和字符编码。详细讲解了Unicode和UTF-8等编码的作用,以及在Java中实现国际化的方法,如使用properties文件和ResourceBundle类加载资源。还提到了支持国际化的工具类如NumberFormat、DateFormat和MessageFormat。
摘要由CSDN通过智能技术生成

背景知识

现代软件开发,往往做出的应用程序不止给一个国家的人去使用。不同国家的人往往存在语言文字不通的问题。由此产生了国际化(internationalization)、多语言(multi-language)、本地化(locale)这些词,它们其实都是一个意思,支持多种语言,提供给不同国家的用户使用。

语言编码、国家/地区编码

做web 开发的朋友可能多多少少接触过类似 zh-cn, en-us 这样的编码字样。

这些编码是用来表示指定的国家地区的语言类型的。那么,这些含有特殊含义的编码是如何产生的呢?

ISO-639标准使用编码定义了国际上常见的语言,每一种语言由两个小写字母表示。

ISO-3166标准使用编码定义了国家/地区,每个国家/地区由两个大写字母表示。

为什么要用语言+国家/地区来标示语言呢?

道理很简单:拿咱们中国来说,同样是中文,全国各地的方言就多如牛毛,更不要说世界上有那么多种语言,得有多少方言?

下表列举了一些常见国家、地区的语言编码:

注:由表中可以看出语言、国家/地区 编码一般都是英文单词的缩写。
字符编码

在此处,引申一下字符编码的概念。

是不是有了语言、国家/地区编码,计算机就可以识别各种语言了?

答案是否。作为程序员,相信每个人都会遇到过这样的情况:,期望打印中文,结果输出的却是乱码。

这种情况,往往是因为字符编码的问题。

计算机在设

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值