一.虽然jdk提供了国际化属性文件的工具,而且eclipse也有编辑属性文件的插件来让我们方便的时候。但自己还是情不自禁的想自己写一个,或者说是描述怎样实现的原理。可以参考如下代码。
package test;
public class Test {
public static void main(String[] args) throws Exception {
try {
String m = new String("中文测试");
System.out.println(m);
char[] c = m.toCharArray();
for (int i = 0; i < c.length; i++)
System.out.println(Integer.toHexString((int) c[i]));
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
运行上面的程序, 你会得到如下结果
中文测试
4e2d
6587
6d4b
8bd5
那么属性文件中,“中文测试”的国际化unicode应该是什么样子呢,如下
\u4e2d\u6587\u6d4b\u8bd5
可见,转换其实很简单,就是把字符数组的每个元素转换成16进制的字符串,然后在前卖弄加上字符前缀“\u”就可以了。
二.好了, 现在知道属性文件中unicode表现形式。那么,个浏览器也是支持unicode的。
但是我们会很奇怪的发现,怎么同样的字,在属性文件中和在网页中不是一样的呢。现在我也先不求甚解一下。不过要告诉大家的是两者其实是一致的。如下把汉字 张 转换成在网页中可以显示的unicode编码
String s = "&#" + (int)'张' + ";";
s的实际值将会是 “张”
我想通过表现转换表达式也应该看出来的,网页的和属性文件的不同点在于前缀不同,而且多加了一个后缀";"。而核心仍然是unicode位置,只不过这里直接用的十进制而已。
好的,介绍完收工了。
分享到:
相关推荐
文件的国际化字符串中使用OGNL,格式为${表达式},例如: validation.required=${getText(fileName)} is required 2. 使用java.text.MessageFormat中的字符串格式,格式为{ 参数序号(从0开始), 格式类形(number |...
在Android开发中,为了使应用能够适应不同语言和地区的用户,字符串国际化的概念至关重要。它允许开发者将应用的文本资源分离出来,以便于根据不同国家和地区的需求进行翻译和定制。下面我们将详细探讨Android字符串...
它还缺乏对国际化字段进行有用的查找,搜索和索引的能力。 如果其中一项对您很重要,则该项目不适合您,请选择我们上面链接的一项。 但是,如果这些限制对您来说很好,那么这将为您提供一个非常轻便,易于使用和...
1. **格式化字符串的基本语法**:在各种编程语言中,如Python的f-string、C++的printf、Java的String.format等,都有各自的字符串格式化方法。理解这些语法对于正确地构造和输出格式化的字符串至关重要。 2. **变量...
15. **国际化与本地化**:`java.text`包中的`MessageFormat`类可以用于处理国际化字符串,`String`的`format()`方法也可结合`ResourceBundle`实现类似功能。 以上只是Java字符串处理的一部分知识点,实际开发中还有...
这是 RFC 3454 - 国际化字符串准备(“stringprep”)的 PHP 实现。 请参阅: : 要求 PHP >= 5.3 PHP国际扩展( ) PHP iconv 扩展 ( ) 例子 <?php require "vendor/autoload.php" ; use Znerol \ ...
### 一、`strings.xml`与格式化字符串基础 #### 1.1 `strings.xml`简介 `strings.xml`是Android应用中用于存储字符串资源的XML文件,通常位于`res/values/`目录下。通过将字符串资源存储在这个文件中,可以方便地...
9. 格式化字符串: `format()`方法:类似于C语言的`printf`,用于格式化输出字符串。例如`String formatted = String.format("%d %s", 123, "example");` 10. 字符串与字符数组: - `toCharArray()`:将字符串...
4. **国际化支持**:如果应用程序需要支持多种语言环境,可以考虑使用`java.time`包中的类,如`LocalDate`、`LocalDateTime`等,它们提供了更好的国际化支持。 通过以上内容的学习,相信读者已经掌握了Java中日期与...
`transai` 是一个专为JavaScript开发设计的命令行工具,其主要功能是帮助开发者高效地管理和维护项目中的本地化字符串文件。在软件本地化的过程中,为了支持多种语言,通常需要将应用程序中的文本字符串分离出来,...
6. **代码辅助**:在编写代码时,插件会提供API调用的提示,例如使用`ResourceBundle`和`MessageFormat`等类,以正确地加载和格式化国际化字符串。 7. **报表和分析**:插件可以生成报表,显示未国际化的字符串或...
首先,.properties文件是Java平台用于存储配置信息或文本资源的标准格式,特别适用于存储国际化字符串。这些文件通常包含键值对,其中键是标识符,值是对应的字符串。例如,键`greeting`可能对应值`你好,世界!`。...
### Oracle日期与字符串相互转换详解 #### 一、概述 在Oracle数据库中,日期与字符串之间的转换是一项常用且重要的操作。正确地进行日期与字符串之间的转换对于数据处理、查询优化等方面有着不可忽视的作用。本...
总之,了解并熟练掌握ANSI字符串与Unicode字符串的相互转换是编程中的重要技能,尤其是在处理国际化和本地化问题时。正确处理字符编码转换可以确保软件能够正确显示和处理各种语言的文本,提升用户体验。
- 分离业务逻辑和显示逻辑:将国际化字符串移出Java代码,放入资源包中。 - 维护统一的资源包命名和结构,便于管理和更新。 - 使用国际化友好的日期和数字格式,避免硬编码。 通过以上步骤和方法,我们可以有效...
这段代码首先从servletRequest中获取MessageResources实例,然后使用这个实例根据用户的语言环境获取"label.option"对应的国际化字符串。这表明开发者正在尝试动态地为用户提供他们所选语言的界面元素。 ### 总结 ...
### C#字符串截取固定长度的方法 在C#编程语言中,经常需要处理字符串操作,其中一个常见的...如果处理的是国际化文本,还需要考虑不同语言环境下的特殊字符处理。此外,性能也是选择方法时需要考虑的一个重要因素。
3. 可能还会包含一些宏定义,用于简化国际化字符串的使用,比如`_()`,它可以在编译时被替换为`get_translated_string()`调用。 `useage.txt`文件很可能包含了如何使用这个国际化库的说明。通常,它会指导开发者...
如果需要在国际化字符串中包含动态内容,可以使用`<s:text>`标签的`escapeHtml`属性和`params`属性,如: ```jsp ``` 其中`welcome.message`是资源文件中的键,`{name:username}`将变量`username`插入到字符串...