在开发j2me浏览器时,对于html的unicode实体编码,我们需要将转换才能正常显示。如下面这样一段代码:
<a href="http://wap.monternet.com/">返回移动梦网</a><br />
方法如下:
private static String decodeUnicode(final String dataStr) {
int start = 0;
int end = 0;
final StringBuffer buffer = new StringBuffer();
while (start > -1) {
int system = 10;//进制
if(start==0){
int t = dataStr.indexOf("&#");
if(start!=t)start = t;
}
end = dataStr.indexOf(";", start + 2);
String charStr = "";
if (end != -1) {
charStr = dataStr.substring(start + 2, end);
//判断进制
char s = charStr.charAt(0);
if(s=='x' || s=='X'){
system = 16;
charStr = charStr.substring(1);
}
}
//转换
try{
char letter = (char) Integer.parseInt(charStr,system);
buffer.append(new Character(letter).toString());
}catch(NumberFormatException e){
e.printStackTrace();
}
//处理当前unicode字符到下一个unicode字符之间的非unicode字符
start = dataStr.indexOf("&#",end);
if(start-end>1){
buffer.append(dataStr.substring(end+1, start));
}
//处理最后面的非unicode字符
if(start==-1){
int length = dataStr.length();
if(end+1!=length){
buffer.append(dataStr.substring(end+1,length));
}
}
}
return buffer.toString();
}
分享到:
相关推荐
在Java ME(J2ME)环境中,汉字编码的...总之,J2ME中的汉字编码转换涉及到对Unicode、UTF-8、GB2312和GBK等编码的理解和操作。正确地处理这些编码转换,能够帮助开发者创建出能在不同设备和平台上正常运行的应用程序。
在J2ME中,使用Unicode编码处理中文字符至关重要,因为它能确保正确地存储和传输中文字符。 3. **输入法引擎** 中文输入法通常涉及到拼音输入、笔画输入或五笔字型等。在J2ME平台上,由于资源限制,拼音输入是最...
J2ME支持Unicode编码,但需要正确配置才能读取和写入Unicode文件。Java的InputStreamReader 和 OutputStreamWriter 类可用于指定字符编码。在J2ME环境中,开发者需要特别注意内存限制,可能需要分块读取和写入大文件...
2. **字符编码**:J2ME平台通常使用Unicode编码,所以你需要熟悉Unicode编码表,尤其是中文字符的部分。每个中文字符对应一个或多个Unicode码点。 3. **输入法引擎**:为了将按键序列转换为中文字符,你需要实现一...
这涉及到对Unicode编码的理解和Java字符串处理技术的运用。 3. **界面设计**:考虑到手机屏幕尺寸有限,良好的界面设计至关重要。可能包括字体大小调整、夜间模式切换、页面滚动和书签功能等,以提供舒适的阅读体验...
2. **字符映射**:每个字符在字库中都有一个唯一的编码,如ASCII或Unicode。开发者需要建立一个映射表,将字符编码与对应的点阵数据关联起来,以便快速查找并渲染字符。 3. **渲染引擎**:点阵字库的显示通常需要...
示例代码中通过`unicodeTogb2312()`方法实现了从Unicode到GB2312的编码转换。 ```java public static String unicodeTogb2312(String s) { if (s == null) { return ""; } if (s.equals("")) { return s; } ...
1. **字符编码**:J2ME支持Unicode编码,但可能需要处理GB2312或GBK等中文编码以兼容旧设备。理解字符编码转换对于处理中文字符至关重要。 2. **拼音库**:需要一个拼音转换库,将用户输入的汉字转换为对应的拼音。...
这个方法通过逐字节读取并转换为字符,处理Unicode编码的文本。 2. 读取UTF-8格式: UTF-8是另一种广泛使用的编码格式,尤其在网络传输中。下面的`read_UTF`方法读取以UTF-8编码的文本文件: ```java public ...
在计算机科学中,字符通常以某种编码格式表示,例如ASCII或Unicode。这些编码将字符映射到一个整数值上。而字节则是计算机中最基本的数据单位之一,通常包含8位。在处理文本数据时,经常需要将字符转换为字节数组或...
这通常包括候选词显示、用户输入处理、字符编码转换、以及屏幕适配等模块。要考虑到手机屏幕尺寸有限,所以布局和用户体验设计至关重要。 4. 用户界面: 使用J2ME的LWUIT( Lightweight User Interface Toolkit)...
J2ME支持几种编码格式,如GBK、GB2312和Unicode。选择合适的字库并将其加载到内存中是必要的,因为J2ME平台可能不提供系统级别的汉字支持。 3. **输入缓冲区**:创建一个缓冲区来存储用户的输入序列,例如一个字符...
19. **编码支持**:MIDP2.0要求支持的编码方式为UNICODE。 20. **日期时间格式**:在TIME模式下,MIDP要求DateField中的时间是相对于1970年1月1日0时的。 这些是J2ME相关的一些核心概念和知识点,涉及了用户界面、...
解决方法包括使用支持Unicode的编码方式,如UTF-8,以及正确处理字符编码转换。此外,还可以优化数据传输和内存管理,例如分批下载大邮件,及时关闭不必要的流,以提高程序效率。 六、安全与隐私 在实际应用中,...
2. 字符映射:在J2ME中,你需要建立一个映射,将Unicode码点或ASCII值映射到对应的点阵字位图数据。这样,当需要绘制某个字符时,可以通过其编码快速找到相应的点阵数据。 3. 绘制字符:使用`Graphics`对象的`draw...
在之前的版本中,由于SOAP消息通常使用XML格式,而XML对Unicode字符支持良好,但若不正确处理,中文等非英文字符可能会在传输过程中出现乱码。kSOAP 1.2解决了这个问题,确保在与Web服务通信时能正确编码和解码中文...
24. Java中的Unicode编码 Unicode是用于表示文本的标准字符集,每个Unicode字符都用16位数字表示。 25. Java中的数字字面量 包括整数字面量(如1024)、浮点数字面量(如3.***),以及它们的前缀和后缀(如0x表示...
5. java 中的 char 类型可以表示 0~65535 个字符,利用 Unicode 编码格式。 6. 可以使用单引号字符或者整数对 char 型赋值。 7. java 中小数常量被认为 double 型,若要表明为 float 型,在其后加 f。 8. float 是 4...
Java的字符类型`char`使用Unicode编码,每个字符占16位。Java的数据类型长度是固定的,不受平台影响。 每个Java源文件可以包含多个类,但只能有一个主类,即包含`main`方法的类。类的成员包括成员变量、方法和内部...