牛骨文教育服务平台(让学习变的简单)
博文笔记

ASCII、十六进制、字节数组、字符数组相互转换

创建时间:2017-04-14 投稿人: 浏览次数:1289
	/**
	 * 字符串转换为Ascii
	 * @param value
	 * @return
	 */
	public static String stringToASCII(String value)  
	{  
		StringBuffer sbu = new StringBuffer();  
		char[] chars = value.toCharArray();   
		for (int i = 0; i < chars.length; i++) {  
			//			if(i != chars.length - 1)  
			//			{  
			//				sbu.append((int)chars[i]).append(",");  
			//			}
			//			else{
			//			}
			sbu.append((int)chars[i]);  
		}
		return sbu.toString();
	}

字符串转换为ASCII


	/**
	 * 字符串转换为十六进制
	 * @param value
	 * @return
	 */
	public static String convertStringToHex(String str) {  
		char[] chars = str.toCharArray();  
		StringBuffer hex = new StringBuffer();  
		for (int i = 0; i < chars.length; i++) {  
			hex.append(Integer.toHexString((int) chars[i]));  
		}  
		return hex.toString();  
	} 

字符串转换为十六进制


	/**
	 * 十六进制转换为字符串
	 * @param value
	 * @return
	 */
	public static String convertHexToString(String hex) {  

		StringBuilder sb = new StringBuilder();  
		StringBuilder temp = new StringBuilder();  

		// 49204c6f7665204a617661 split into two characters 49, 20, 4c...  
		for (int i = 0; i < hex.length() - 1; i += 2) {  
			// grab the hex in pairs  
			String output = hex.substring(i, (i + 2));  
			// convert hex to decimal  
			int decimal = Integer.parseInt(output, 16);  
			// convert the decimal to character  
			sb.append((char) decimal);  
			temp.append(decimal);  
		}  
		return sb.toString();  
	}

十六进制转换为字符串


	// char转byte

	public static byte[] getBytes (char[] chars) {
		Charset cs = Charset.forName ("UTF-8");
		CharBuffer cb = CharBuffer.allocate(chars.length);
		cb.put(chars);
		cb.flip();
		ByteBuffer bb = cs.encode(cb);	  
		return bb.array();
	}

字符数组转换为字节数组


	// byte转char

	public static char[] getChars(byte[] bytes) {
		Charset cs = Charset.forName ("UTF-8");
		ByteBuffer bb = ByteBuffer.allocate(bytes.length);
		bb.put(bytes);
		bb.flip();
		CharBuffer cb = cs.decode(bb);	  
		return cb.array();
	}

字节数组转换为字符数组




// 十进制转化为十六进制,结果为C8。

Integer.toHexString(200);

 

// 十六进制转化为十进制,结果140。

Integer.parseInt("8C",16)




声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。