从数据库中读出来的数据,如何检查全角半角?
解决方案 »
- 关于匿名内部类的小问题
- 自定义异常的一个小问题
- http server的使用感受
- java连接sql server 2000的 JDBC 问题
- 关于一个生成图片的问题!!!!!
- 如何绘制自定义的component。急......................................................................
- weblogic的 811win32怎么在点击安装之后,第一个页面进入之后,往下没反应了??(紧急求救)
- 手机游戏的图形界面是什么开发的?
- 如何用电脑向手机发短消息?
- jdbc drivers????????????????????????????
- SWT的配置
- <html:file 的readonly 问题
全是半角
}
if(str.getBytes().length > str.length && str.getBytes().length != str.length){
混合
}
if(str.getBytes().length == str.length *2){
全是全角
}
混合
}
这是何意?
char[] chs = param.toCharArray();
for (int i = 0; i < chs.length; i++) {
if (!(('\uFF61' <= chs[i]) && (chs[i] <= '\uFF9F'))
&& !(('\u0020' <= chs[i]) && (chs[i] <= '\u007E'))) {
return false;
}
} return true;
}
混合
}
这是何意?
------------------------------------------
如果是全角 编码为2个字节 半角为一个字节
如果两者皆有的话,那么满足
(str.getBytes().length < str.length*2) && (str.getBytes().length > str.length)
与上面的逻辑等价
-----------------------------
public class FullHalf {
public static void main(String args[]) {
String str = ",,??你";
String str2 = ",,,";
String str3 =":::";
fullHalf(str);
fullHalf(str2);
fullHalf(str3);
}
private static void fullHalf(String str) {
if(str.getBytes().length == str.length())
System.out.println("Half");
if(str.getBytes().length == str.length()*2)
System.out.println("Full");
if(str.getBytes().length < str.length()*2 && str.getBytes().length > str.length())
System.out.println("Mix");
}
}
下面是我同时帮忙写的一个,看一下import java.io.UnsupportedEncodingException;public class CharacterTest { public static void main(String[] args) {
char inputs[] = {'1','1','タ','a'};
for (int i = 0; i < inputs.length; i++) {
System.out.println(isFull(inputs[i]));
}
for (int i = 0; i < inputs.length; i++) {
System.out.println(isFull2(inputs[i]));
}
}
private static boolean isFull(char ch){
String str = new String(new char[]{ch});
try {
byte[] buf = str.getBytes("UTF-16");
if(buf[2]!=0) return true;
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return false;
}
private static boolean isFull2(char ch){
String str = new String(new char[]{ch});
byte[] buf = str.getBytes();
if(buf.length != 1) return true;
return false;
}
}返回
false
true
true
true
public static boolean isAllHalf(String param) {
char[] chs = param.toCharArray();
for (int i = 0; i < chs.length; i++) {
if (!(('\uFF61' <= chs[i]) && (chs[i] <= '\uFF9F'))
&& !(('\u0020' <= chs[i]) && (chs[i] <= '\u007E'))) {
return false;
}
} return true;
}