I would like to analyze full width or half width character in char array.
for example:
char [] password = {'t','e','s','t','思','題'};
There are full width and half width characters in this char array.
half width = t,e,s,t
full width = 思,題
So, how can I analyze full width or half width for char array in java?
Thanks a lot!
解决方案
JDK contains one class that mentions full/half width: InputSubset
Unfortunately there's no method to check which char falls in which subset.
Nonetheless, apparently full/half width is a well defined concept for unicodes. There maybe an accurate spec somewhere on internet.
I guess it'll be good enough for your use case to say that, 0x00-0xFF chars are half-width; other chars are full-width, except the half-width chars in the unicode block "Halfwidth and Fullwidth Forms"
boolean isHalfWidth(char c)
{
return '\u0000' <= c && c <= '\u00FF'
|| '\uFF61' <= c && c <= '\uFFDC'
|| '\uFFE8' <= c && c <= '\uFFEE' ;
}