java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java接收和发送ASCII数据

java如何接收和发送ASCII数据

作者:tyc880616

这篇文章主要介绍了java如何接收和发送ASCII数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java接收和发送ASCII数据

使用java开发的程序和C++开发的程序对接,C++端使用的是ascii码

1、java接收端采用ByteBuffer接收到数据后使用GBK解码器解码

public static String getString(ByteBuffer buffer) {
		Charset charset = null;
		CharsetDecoder decoder = null;
		CharBuffer charBuffer = null;
		try {
				charset = Charset.forName("GBK");
				decoder = charset.newDecoder();	
				charBuffer = decoder.decode(buffer.asReadOnlyBuffer());	
				return charBuffer.toString();
		} catch (Exception ex) {
			//ex.printStackTrace();
			return "";
		}
	}

2、java发送数据给C++端。

public int SendTcpData(String strData){
    byte[] szCmd= new byte[1024];
    int iWriteRet = 0;
    byte bydata[];
    try {
        bydata = strData.getBytes("GBK");
        System.arraycopy(bydata, 0, szCmd, 0, bydata.length);
        int len = bydata.length;
        ByteBuffer cacheBuffer = ByteBuffer.allocate(len);
        cacheBuffer.put(szCmd,0,len);
        cacheBuffer.flip();
        int iWriteRet = sock.write(cacheBuffer);
        if(iWriteRet<0){
        }
    } catch (Exception e) {
	    //e.printStackTrace();
    }
    return iWriteRet;
}

java中的ASCII码值

ASCII码

目前计算机中用得最广泛的 字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。

适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。

在键盘上输入任意一个字母 ,显示ASCII码值

import java.util.Scanner; 
public class Test { 
	public static void main(String[] args)throws Exception{ 
		Scanner in = new Scanner(System.in); 
		String b = in.next(); 
		for( int i=0;i< b.length();i++){ 
			System.out.println( b.charAt(i)+" "+(byte) b.charAt(i)); 
		} 
	} 
} 

输出所有字符及其对应的ASCII码值

package demo;
public class TestASCII01 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i=0;i<255;i++){
			char a = (char) i;
			System.out.println(a+" "+i);
		}
	}
}

常用ASCII 码对照表

第33~126号(共94个)是字符,

其中第48~57号为0~9十个阿拉伯数字;

65~90号为26个大写英文字母,

97~122号为26个小写英文字母,

其余为一些标点符号、运算符号等。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文