在获取文本的时候,经常遇到数据格式的问题,需要判断或转换。
本文旨在解决全角符号转换为半角符号的问题。
网上大体有两种方法:转换编码或者替换。
我使用的是转换编码,引用自:http://blog.csdn.net/dpuser/archive/2005/10/19/509146.aspx
string checkStr="123456";
//判断是否包含全角字符[1]
if(checkStr.length() != checkStr.getBytes().length){
//添加处理....
}
//判断是否包含全角字符[2]
if(!checkStr.equals("")&&!isEnna(checkStr)){
//添加处理....
}
//判断是否半角
private boolean isEnna(String p) {
int length = p.length();
boolean b = true;
;
for (int i = 0; i < length; i++) { char c = p.charAt(i); if (c > 255) {
b = false;
break;
}
}
return b;
}
//全角转半角
private 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;
}
不知道以上方法有没有漏洞,欢迎指教!
如果是半角“\”转换为全角“¥”就报错了,这个问题怎么解决,而且如果是日文的半角全角转换就不行了,例如:????->????
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论