<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 70,comments - 408,trackbacks - 0
    public?class?change?{
    ????
    ????public?static?void?main(String[]?args)?{
    ????
    ?????String?QJstr="全角轉(zhuǎn)半角DAO";
    ?????
    ?????String?result=SBCchange(QJstr);
    ????
    ?????System.out.println(QJstr+"\n"+result);
    ??
    ?}
    ?
    ?
    ?public?static?final?String?SBCchange(String?QJstr)
    ?{
    ?????String?outStr="";
    ?????String?Tstr="";
    ?????byte[]?b=null;

    ?????for(int?i=0;i<QJstr.length();i++)
    ?????{?????
    ??????try
    ??????{
    ???????Tstr=QJstr.substring(i,i+1);
    ???????b=Tstr.getBytes("unicode");
    ??????}
    ??????catch(java.io.UnsupportedEncodingException?e)
    ??????{
    ???????e.printStackTrace();
    ??????}?????
    ???
    ??????if?(b[3]==-1)
    ??????{
    ???????b[2]=(byte)(b[2]+32);
    ???????b[3]=0;??????
    ????????
    ???????try
    ???????{???????
    ????????outStr=outStr+new?String(b,"unicode");
    ???????}
    ???????catch(java.io.UnsupportedEncodingException?e)
    ???????{
    ????????e.printStackTrace();
    ???????}??????
    ??????}else?outStr=outStr+Tstr;
    ?????}
    ????
    ?????return?outStr;?
    ??}

    ?}







    public class Test {
    public static void main(String[] args) {
    String QJstr = "hello";
    String QJstr1 = "hehe";

    String result = BQchange(QJstr);
    String result1 = QBchange(QJstr1);

    System.out.println(QJstr + "\n" + result);
    System.out.println(QJstr1 + "\n" + result1);
    }

    // 半角轉(zhuǎn)全角
    public static final String BQchange(String QJstr) {
    String outStr = "";
    String Tstr = "";
    byte[] b = null;

    for (int i = 0; i< QJstr.length(); i++) {
    try {
    Tstr = QJstr.substring(i, i + 1);
    b = Tstr.getBytes("unicode");
    } catch (java.io.UnsupportedEncodingException e) {
    e.printStackTrace();
    }
    if (b[3] != -1) {
    b[2] = (byte) (b[2] - 32);
    b[3] = -1;
    try {
    outStr = outStr + new String(b, "unicode");
    } catch (java.io.UnsupportedEncodingException e) {
    e.printStackTrace();
    }
    } else
    outStr = outStr + Tstr;
    }
    return outStr;
    }

    // 全角轉(zhuǎn)半角
    public static final String QBchange(String QJstr) {
    String outStr = "";
    String Tstr = "";
    byte[] b = null;

    for (int i = 0; i< QJstr.length(); i++) {
    try {
    Tstr = QJstr.substring(i, i + 1);
    b = Tstr.getBytes("unicode");
    } catch (java.io.UnsupportedEncodingException e) {
    e.printStackTrace();
    }
    if (b[3] == -1) {
    b[2] = (byte) (b[2] + 32);
    b[3] = 0;
    try {
    outStr = outStr + new String(b, "unicode");
    } catch (java.io.UnsupportedEncodingException e) {
    e.printStackTrace();
    }
    } else
    outStr = outStr + Tstr;
    }
    return outStr;
    }
    }



    /**/// /
    // / 轉(zhuǎn)全角的函數(shù)(SBC case)
    // /

    // /任意字符串
    // /全角字符串
    // /
    // /全角空格為12288,半角空格為32
    // /其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差65248
    // /

    public static String ToSBC(String input) {
    // 半角轉(zhuǎn)全角:
    char[] c = input.toCharArray();
    for (int i = 0; i< c.length; i++) {
    if (c[i] == 32) {
    c[i] = (char) 12288;
    continue;
    }
    if (c[i]< 127)
    c[i] = (char) (c[i] + 65248);
    }
    return new String(c);
    }

    /**/// /
    // / 轉(zhuǎn)半角的函數(shù)(DBC case)
    // /

    // /任意字符串
    // /半角字符串
    // /
    // /全角空格為12288,半角空格為32
    // /其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差65248
    // /

    public static String ToDBC(String input) {
    char[] c = input.toCharArray();
    for (int i = 0; i< c.length; i++) {
    if (c[i] == 12288) {
    c[i] = (char) 32;
    continue;
    }
    if (c[i]> 65280&& c[i]< 65375)
    c[i] = (char) (c[i] - 65248);
    }
    return new String(c);
    }
    posted on 2006-06-01 17:43 我心依舊 閱讀(9112) 評(píng)論(1)  編輯  收藏

    FeedBack:
    # re: JAVA全角和半角的轉(zhuǎn)換.
    2007-12-03 11:49 | 西濱
    最后一種算法才是對(duì)的,前面兩種只有原來(lái)的字符串是“gbk“編碼的時(shí)候才有效。  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲男人的天堂在线va拉文| 国产高清在线免费| 亚洲av色福利天堂| 三级网站免费观看| 亚洲精品V欧洲精品V日韩精品| 一级看片免费视频| 国产中文在线亚洲精品官网| 国产男女爽爽爽免费视频| 中文字幕精品无码亚洲字| 两个人看www免费视频| 日本亚洲成高清一区二区三区 | 四虎影视在线看免费观看| 男人的天堂亚洲一区二区三区 | 三上悠亚亚洲一区高清| h片在线播放免费高清| 亚洲综合伊人久久大杳蕉| 在线看片免费人成视频久网下载| 亚洲动漫精品无码av天堂| 91精品免费高清在线| 亚洲精品第一国产综合野| 日产国产精品亚洲系列| 91免费国产视频| 亚洲成年人电影在线观看| 成人性生交大片免费看无遮挡| 国产精品无码亚洲一区二区三区| 亚洲乱码国产一区网址| 无码A级毛片免费视频内谢| 亚洲春黄在线观看| 在线观看国产情趣免费视频| 乱爱性全过程免费视频| 精品亚洲综合久久中文字幕| 4虎永免费最新永久免费地址| 国产亚洲精品91| 午夜亚洲AV日韩AV无码大全| 免费在线看v网址| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 亚洲日韩国产精品乱| 国产黄色免费网站| 免费观看四虎精品成人| 中文字幕亚洲色图| 国产zzjjzzjj视频全免费|