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  om*/
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