Android Open Source - Common-Library G B2 Alpha From Project Back to project page Common-Library .
License The source code is released under:
Apache License
If you think the Android project Common-Library listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.morgan.library.utils;
/ * w w w . j a v a 2 s . c o m * /
import java.util.Locale;
/**
* ????????????????????
*
* @author Morgan.Ji
*
*/
public class GB2Alpha {
// ???Z???????????????
// i, u, v?????????, ????????????
private static char [] chartable = { '?' , '?' , '?' , '???' , '?' , '???' , '?' , '?' ,
'?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' ,
'?' , '?' , '?' , '?' , '??' , '?' };
private static char [] alphatableb = { 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' ,
'H' , 'I' , 'J' , 'K' , 'L' , 'M' , 'N' , 'O' , 'P' , 'Q' , 'R' , 'S' , 'T' ,
'U' , 'V' , 'W' , 'X' , 'Y' , 'Z' };
private static char [] alphatables = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' ,
'h' , 'i' , 'j' , 'k' , 'l' , 'm' , 'n' , 'o' , 'p' , 'q' , 'r' , 's' , 't' ,
'u' , 'v' , 'w' , 'x' , 'y' , 'z' };
private static int [] table = new int [27]; // ????
{
for (int i = 0; i < 27; ++i) {
table[i] = gbValue(chartable[i]);
}
}
// ???,????,???????,
// ?????????????????
// ??????????? '0' ?????
public static char Char2Alpha(char ch, String type) {
if (ch >= 'a' && ch <= 'z' )
// return (char) (ch - 'a' + 'A');
return ch;
if (ch >= 'A' && ch <= 'Z' )
return ch;
int gb = gbValue(ch);
if (gb < table[0])
return '0' ;
int i;
for (i = 0; i < 26; ++i) {
if (match(i, gb))
break ;
}
if (i >= 26) {
return '0' ;
} else {
if ("b" .equals(type)) {// ??
return alphatableb[i];
} else {// ???
return alphatables[i];
}
}
}
// ????????????????????????????????
public static String String2Alpha(String SourceStr, String type) {
String Result = "" ;
int StrLength = SourceStr.length();
int i;
try {
for (i = 0; i < StrLength; i++) {
Result += Char2Alpha(SourceStr.charAt(i), type);
}
} catch (Exception e) {
Result = "" ;
}
return Result;
}
// ?????????????????????????????????
public static String string2AlphaFirst(String SourceStr, String type) {
String Result = "" ;
try {
Result += Char2Alpha(SourceStr.charAt(0), type);
} catch (Exception e) {
Result = "" ;
}
return Result;
}
// ?????????????????????????????????
public static String string2AlphaFirst(String SourceStr) {
String Result = "" ;
try {
Result += Char2Alpha(SourceStr.charAt(0), "b" );
} catch (Exception e) {
Result = "" ;
}
return Result;
}
private static boolean match(int i, int gb) {
if (gb < table[i])
return false;
int j = i + 1;
// ???Z???????
while (j < 26 && (table[j] == table[i]))
++j;
if (j == 26)
return gb <= table[j];
else
return gb < table[j];
}
// ??????????
private static int gbValue(char ch) {
String str = new String();
str += ch;
try {
byte [] bytes = str.getBytes("GBK" );
if (bytes.length < 2)
return 0;
return (bytes[0] << 8 & 0xff00) + (bytes[1] & 0xff);
} catch (Exception e) {
return 0;
}
}
public static String getStringFirstChar(String value) {
String result = string2AlphaFirst(value);
if (StrUtils.isEmpty(result) || "0" .equals(result)) {
result = "#" ;
}
return result.toUpperCase(Locale.CHINESE);
}
}
Java Source Code List com.morgan.library.app.APPContext.java com.morgan.library.app.AppManager.java com.morgan.library.app.BaseActivity.java com.morgan.library.app.BaseFragmentActivity.java com.morgan.library.app.BaseListActivity.java com.morgan.library.app.BaseScreenShotActivity.java com.morgan.library.app.CommonApplication.java com.morgan.library.async.CustomAsyncTask.java com.morgan.library.async.Destroyable.java com.morgan.library.async.IFeedback.java com.morgan.library.async.TaskManager.java com.morgan.library.model.NetResult.java com.morgan.library.model.SpinnerItem.java com.morgan.library.model.WeatherType.java com.morgan.library.model.Weather.java com.morgan.library.net.ApiClient.java com.morgan.library.net.ApiManager.java com.morgan.library.net.ApiUrl.java com.morgan.library.net.IApiClient.java com.morgan.library.net.JsonUtils.java com.morgan.library.net.MockApiClient.java com.morgan.library.service.LocationManager.java com.morgan.library.service.WeatherManager.java com.morgan.library.snippet.CookieShare.java com.morgan.library.snippet.CustomService.java com.morgan.library.snippet.ExceptionCatcher.java com.morgan.library.snippet.ProxyUsage.java com.morgan.library.snippet.SocketClient.java com.morgan.library.snippet.SocketServer.java com.morgan.library.snippet.UDPClient.java com.morgan.library.snippet.UDPServer.java com.morgan.library.snippet.XMLAnalyze.java com.morgan.library.task.GetWeatherTask.java com.morgan.library.utils.AppUtils.java com.morgan.library.utils.DateUtils.java com.morgan.library.utils.DensityUtils.java com.morgan.library.utils.FileUtils.java com.morgan.library.utils.GB2Alpha.java com.morgan.library.utils.HttpClientUtil.java com.morgan.library.utils.HttpClientUtils.java com.morgan.library.utils.HttpURLUtil.java com.morgan.library.utils.ImageUtils.java com.morgan.library.utils.KeyBoardUtils.java com.morgan.library.utils.LocationUtils.java com.morgan.library.utils.Logger.java com.morgan.library.utils.NetUtils.java com.morgan.library.utils.PhoneUtils.java com.morgan.library.utils.SDCardUtils.java com.morgan.library.utils.StrUtils.java com.morgan.library.widget.AutoHideMenuWidget.java com.morgan.library.widget.BadgeView.java com.morgan.library.widget.CityPickerWidget.java com.morgan.library.widget.CustomGridView.java com.morgan.library.widget.CustomListView.java com.morgan.library.widget.CustomToast.java com.morgan.library.widget.CustomViewPager.java com.morgan.library.widget.DatePickerWidget.java com.morgan.library.widget.DirectionScrollView.java com.morgan.library.widget.FallBallView.java com.morgan.library.widget.HeightPickerWidget.java com.morgan.library.widget.InterceptPressLayout.java com.morgan.library.widget.ItalicTextView.java com.morgan.library.widget.PopupMenuWidget.java com.morgan.library.widget.PullToRefreshListView.java com.morgan.library.widget.ScreenShotView.java com.morgan.library.widget.SexPickerWidget.java com.morgan.library.widget.SlideUpOpenWidget.java com.morgan.library.widget.SwipeListView.java com.morgan.library.widget.TimePickerWidget.java com.morgan.library.widget.TouchZoomImageView.java com.morgan.library.widget.WaitScreenWidget.java com.morgan.library.widget.WebViewDialog.java com.morgan.library.widget.WeightPickerWidget.java com.morgan.library.widget.calendar.CalendarGridView.java com.morgan.library.widget.calendar.CalendarScrollView.java com.morgan.library.widget.calendar.CalendarViewFlipper.java com.morgan.library.widget.calendar.CalendarWidget.java com.morgan.library.widget.numberpicker.NumberPicker.java com.morgan.library.widget.numberpicker.Scroller.java com.morgan.library.widget.slidemenu.ScrollDetectorFactory.java com.morgan.library.widget.slidemenu.ScrollDetectors.java com.morgan.library.widget.slidemenu.SlideMenu.java