Source code: juju/reattore/util/CharUtil.java
1 /* Reattore HTTP Server
2
3 Copyright (C) 2002 Michael Hope <michaelh@juju.net.nz>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19 $Id: CharUtil.java,v 1.3 2003/03/03 05:14:39 michaelh Exp $
20 */
21 package juju.reattore.util;
22
23
24 /** Shared character utility methods.
25 */
26 public class CharUtil {
27 private static final int[] NIBBLES = new int[256];
28
29 static {
30 for (int i = 0; i < 10; i++) {
31 NIBBLES['0' + i] = i;
32 }
33
34 for (int i = 10; i < 16; i++) {
35 NIBBLES[('a' + i) - 10] = i;
36 NIBBLES[('A' + i) - 10] = i;
37 }
38 }
39
40 /** Turns the given character into it's hex value using the HTTP
41 HEX rules. Basically 0-9, a-f, A-F.
42
43 @param val A character
44 @return It's nibble value, or 0 on invalid.
45 */
46 public static final int fromNibble(int val) {
47 return NIBBLES[val];
48 }
49 }