本文提供一个java实现中 文字符繁简体互换的zip包以及主要的源代码实现说明。
繁简体(GB<=>Big5)中文字符的转化实现原理很简单,就是根据两种码表的编码规则,创建两者之间的字符对应关系表,通 过程序读取这个映射表来自动查出另一种编码方式下对应字符的字节编码,从而进行逐字节的内容替换。
主功能实现的GB2Big5.java源代码如下:
2.在需要进行转化的JSP页面里面加上:
<%@ taglib uri="/WEB-INF/GB2Big5Wrapper.tld" prefix="zealLi"%>
<zealLi:GB2Big5Wrapper isbig5="true">
任何你需要转化的东西
</zealLi:GB2Big5Wrapper>
比如test.jsp源代码如下 =>
- < %@ page
- contentType = "text/html; charset=GBK"
- import = "javax.servlet.http.HttpSession"
- import = "java.util.*"
- import = "com.zealLi.*"
- %> < %
- String encode = request .getParameter("encode");
- if(null == encode || encode.length() < = 0){
- encode = "BIG5" ;
- }
- boolean isBig5 = false ;
- String charset = "GB2312" ;
- if(encode.equalsIgnoreCase("BIG5")){
- isBig5 = true ;
- charset = "BIG5" ;
- }
- String sInfo = "中文字体繁简体转化的测试。" ;
- %> < %@ taglib uri = "/WEB-INF/GB2Big5Wrapper.tld" prefix = "zealLi" % >
- < zealLi:GB2Big5Wrapper isbig5 = "<%= isBig5 %>" >
- < html >
- < head >
- < title > Jsp测试页面 </ title >
- < meta http-equiv = "Content-Type" content = "text/html; charset=<%=charset%>" >
- </ head >
- < body >
- < %
- Calendar now = Calendar .getInstance();
- out.println(now.get(Calendar.YEAR) + "." +
- (now.get(Calendar.MONTH)+1) + "." +
- now.get(Calendar.DAY_OF_MONTH) + "< p > ");
- %>
- < p >
- < %=sInfo% >
- </ body >
- </ html > </ zealLi:GB2Big5Wrapper >
附件 GB2Big5.zip(108,182 bytes): 发布形式的类库zip文件,可直接使用
附件 GB2Big5_Project.zip(38,685 bytes): JBuilder工程文件,提供完整的源代码