BinaryUtils.java
Go to the documentation of this file.
00001 // Software License Agreement (BSD License)
00002 //
00003 // Copyright (c) 2011, Willow Garage, Inc.
00004 // All rights reserved.
00005 //
00006 // Redistribution and use in source and binary forms, with or without
00007 // modification, are permitted provided that the following conditions
00008 // are met:
00009 //
00010 //  * Redistributions of source code must retain the above copyright
00011 //    notice, this list of conditions and the following disclaimer.
00012 //  * Redistributions in binary form must reproduce the above
00013 //    copyright notice, this list of conditions and the following
00014 //    disclaimer in the documentation and/or other materials provided
00015 //    with the distribution.
00016 //  * Neither the name of Willow Garage, Inc. nor the names of its
00017 //    contributors may be used to endorse or promote products derived
00018 //    from this software without specific prior written permission.
00019 //
00020 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00021 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00022 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00023 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00024 // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00025 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00026 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00027 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00028 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00029 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
00030 // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00031 // POSSIBILITY OF SUCH DAMAGE.
00032 
00033 package org.ros.rosserial;
00034 
00040 public class BinaryUtils {
00041 
00045         public static final char[] DIGIT_TO_CHAR = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
00046                         'A', 'B', 'C', 'D', 'E', 'F' };
00047 
00057         public static String byteArrayToHexString(byte[] in) {
00058 
00059                 byte ch = 0x00;
00060 
00061                 int i = 0;
00062 
00063                 if (in == null || in.length <= 0)
00064 
00065                         return null;
00066 
00067                 StringBuilder out = new StringBuilder(in.length * 5);
00068 
00069                 while (i < in.length) {
00070                         out.append("0x");
00071                         ch = (byte) ((in[i] >>> 4) & 0x0F); // Strip off high nibble
00072 
00073                         out.append(DIGIT_TO_CHAR[(int) ch]);
00074 
00075                         ch = (byte) (in[i] & 0x0F); // Strip off low nibble
00076 
00077                         out.append(DIGIT_TO_CHAR[(int) ch]);
00078                         out.append(' ');
00079 
00080                         i++;
00081                 }
00082 
00083                 return out.toString();
00084         }
00085 }


rosserial_java
Author(s): Adam Stambler
autogenerated on Thu Nov 28 2013 11:51:40