1.原文地址:
请查看原文:http://www.lgygg.wang/lgyblog/2019/10/09/java%e5%a6%82%e4%bd%95%e8%a1%a8%e7%a4%ba%e7%a9%ba%e6%a0%bc%ef%bc%9f/
2.什么是全角和半角
百度百科里是这么介绍全角和半角的含义的:“全角就是字母和数字等与汉字占等宽位置的字。 半角就是ASCII方式的字符,在没有汉字输入法起作用的时候输入的字母数字和字符都是半角的。
3.空格如何表示
默认情况下,如果输入法没有切换到全角,你点击的space键默认输出的是半角空格。
在Java中,可以使用“ ”直接输出空格,也可以通过unicode代码表示空格
1.不间断空格\u00A0,主要用在office中,让一个单词在结尾处不会换行显示,快捷键ctrl+shift+space ;
2.半角空格(英文符号)\u0020,代码中常用的;
3.全角空格(中文符号)\u3000,中文文章中使用;
4.例子解析
在安卓设备上测试
public class Main5Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
TextView textView = findViewById(R.id.textView18);
//验证键盘上的space键是否是半角空格,结果返回的是true
Toast.makeText(this,"result:"+" ".equals("\u0020"),Toast.LENGTH_LONG).show();
//可以看到“\u00A0”和“\u0020”在安卓设备上的显示效果是一样的,都是半角空格的效果,而“\u3000”的代表的是全角空格
textView.setText("0000"+"\u00A0"+"1111"+"\u0020"+"2222"+"\u3000"+"3333");
}
}
效果如下:
在Eclipse控制台里测试
"\u00A0"在Eclipse控制台里显示的是“?”,而在Android设备上显示的是半角空格
public class testBlankSpace {
public static void main(String[] args) {
System.out.println("result:"+" ".equals("\u0020"));
System.out.println("result:"+" ".equals("\u3000"));
System.out.println("0000"+"\u00A0"+"1111"+"\u0020"+"2222"+"\u3000"+"3333");
}
}
结果如下: