中文轉爲unicode編碼

中文轉爲unicode編碼
痛苦的說,這個還真的很繁和很煩。在google上找了半天,才找到這些資料,不敢獨享,特放在網上
什麼是Unicode:
在創造Unicode以前針對各類語言有幾百種編碼系統,並且這些編碼系統也相互衝突,給不一樣語言系統的電腦進行交流帶來了麻煩。由於兩種相同的字符在不一樣的編碼系統可能有徹底不一樣的意思,這些不一樣甚至會對電腦帶來危害。因而Unicode出現了,Unicode給每一個字符提供了一個惟一的數字,不管是什麼平臺,不管是什麼程序,不管是什麼語言。它真正實現了全球電腦系統的United,做爲一個標準,它已經成爲全球軟件技術最重要的發展趨勢。
爲何要把中文轉換爲Unicode
在互聯網高速發展的今天,Unicode擔當更重要的角色, 它比傳統的字符編碼更節省費用,使軟件或者網站可以運用於不一樣的系統平臺、語言和國家,而不須要重建,同時也保證了資料在不一樣系統中的完整性。因此說你只要將中文轉換爲Unicode,任何國家的人都能看到你想表達的真正意思,而不是亂碼。
舉例
中文原碼(GB2312):叄肆伍陸柒捌
轉爲Unicode後:叁肆伍陆柒捌
網頁效果爲:叄肆伍陸柒捌
提示:改變網頁編碼爲其它任何國家、語言的編碼試試,始終能看見上面紅色的Unicode中文。

JS: var mode="zhuan";
function encode(obj,btn){
   if(mode=="zhuan"){
       obj.value=obj.value.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"&#x$2;")});
       btn.value="還原";
       mode="huan";
   }else{
       obj.value=unescape(obj.value.replace(/&#x/g,'%u').replace(/;/g,''));
       btn.value="轉化";
       mode="zhuan";
   }
}
未知:
Function Str_Gb2UniCode(text:String):String;
var
 i,j,len:integer;
 cur:integer;
 t:String;
 ws:widestring;
begin
 Result:='';
 ws:=text;
 len:=length(ws);
 i:=1;
 j:=0;
 while i<=len do
 begin
   cur:=ord(ws[i]);
   FmtStr(t,'%4.4X',[cur]);//BCD轉換
   Result:=Result+t;
   inc(i);
    j:=(j+1)mod 7;//移位計數器達7要特殊處理
  end;
end; 
JAVA:
 
 
將中文轉爲unicode 及轉回中文函數(轉載) 06.03.03  from duduwolf 相關文章(6) 以文找文 上一篇    下一篇    
Tag:java  unicode  中文編程    這篇文章不錯,快看看收藏了該文章的全部2人,我也要收藏     
 
//轉爲unicode
public static void writeUnicode(final DataOutputStream out, final String value)  {
  try {
  final String unicode = gbEncoding( value );
  final byte[] data = unicode.getBytes();
  final int dataLength = data.length;
  System.out.println( "Data Length is: " + dataLength );
  System.out.println( "Data is: " + value );
  out.writeInt( dataLength ); //先寫出字符串的長度
  out.write( data, 0, dataLength ); //而後寫出轉化後的字符串
  } catch (IOException e) {
 
  }
  }
 
  public static String gbEncoding( final String gbString ) {
  char[] utfBytes = gbString.toCharArray();
  String unicodeBytes = "";
  for( int byteIndex = 0; byteIndex < utfBytes.length; byteIndex ++ ) {
  String hexB = Integer.toHexString( utfBytes[ byteIndex ] );
  if( hexB.length() <= 2 ) {
  hexB = "00" + hexB;
  }
  unicodeBytes = unicodeBytes + " \\\\u" + hexB;
  }
  System.out.println( "unicodeBytes is: " + unicodeBytes );
  return unicodeBytes;
  }
 

/** *//*****************************************************
  * 功能介紹:將unicode字符串轉爲漢字
  * 輸入參數:源unicode字符串
  * 輸出參數:轉換後的字符串
  *****************************************************/
 private String decodeUnicode( final String dataStr ) {
  int start = 0;
  int end = 0;
  final StringBuffer buffer = new StringBuffer();
  while( start > -1 ) {
  end = dataStr.indexOf( " \\\\u", start + 2 );
  String charStr = "";
  if( end == -1 ) {
  charStr = dataStr.substring( start + 2, dataStr.length() );
  } else {
  charStr = dataStr.substring( start + 2, end);
  }
  char letter = (char) Integer.parseInt( charStr, 16 ); // 16進制parse×××字符串。
  buffer.append( new Character( letter ).toString() );
  start = end;
  }
  return buffer.toString();
 }
 
JSP:
/** *//** ToUnicode.java */
package com.edgewww.util;
import java.io.*;
/** *//**
* 字符串轉換成Unicode碼的類
* @author 欒金奎 jsp@shanghai.com
* @date 2001-03-05
*/
public class ToUnicode {
/** *//**
* 把字符串轉換成Unicode碼
* @param strText 待轉換的字符串
* @param code 轉換前字符串的編碼,如"GBK"
* @return 轉換後的Unicode碼字符串
*/
public String toUnicode(String strText,String code) throws UnsupportedEncodingException{
  char c;
  String strRet = "" ;
  int intAsc;
  String strHex;
  strText = new String(strText.getBytes("8859_1"),code);
  for ( int i = 0; i < strText.length(); i++ ){
    c = strText.charAt(i);
    intAsc = (int)c;
    if(intAsc>128){
      strHex = Integer.toHexString(intAsc);
      strRet = strRet + "&#x" + strHex+";";
    }
    else{
      strRet = strRet + c;
    }
  }
  return strRet ;
}
}
/** *//** 應用舉例 */ /** *//** gbk2Unicode.jsp */ <meta http-equiv="Content-Type" content="text/html; charset=big5"> <jsp:useBean id="g2u" scope="session" class="com.edgewww.util.ToUnicode"/> <% String lang = "這是簡體中文"; %> <br> <%=lang %> <br> <%=g2u.toUnicode(lang,"GBK") %>
相關文章
相關標籤/搜索