Android全角转半角

package com.objzhang.addone;


import android.app.Activity;
import android.app.PendingIntent;import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.RoundRectShape;
import android.os.Bundle;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.view.animation.Animation;
import android.widget.RemoteViews;
import android.widget.TextView;

public class MainActivity extends Activity {

    TextView textview1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        String t="●cac※○☆アイ可以:;";
        
        textview1=(TextView)findViewById(R.id.textview1);
        textview1.setText(toSemiangle(t));
    }

    public static String toSemiangle(String src) {
         /*全角空格为12288,半角空格为32
         * 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
         * 将字符串中的全角字符转为半角
         * @param src 要转换的包含全角的任意字符串
         * @return  转换之后的字符串
         */
        char[]c=src.toCharArray();
        for(int index=0;index<c.length;index++){
            if (c[index]==12288){   //全角空格
                c[index]=(char)32;
            }
            else if (c[index]>65280 && c[index]<65375){   //其他全角字符
                c[index]=(char)(c[index]-65248);
            }
        }
        return String.valueOf(c);
    }

} 

 

posted @ 2014-04-18 16:12  nick2681147  阅读(1214)  评论(0编辑  收藏  举报