tcp/ip的四层协议与osi参考模型的7层协议是怎样对应的
答: 对应如下:
- TCP/IP体系结构包括应用层,运输层,网际层和网络接口层。其中应用层对应OSI模型中的应用层、表示层和会话层;
- 运输层直接对应运输层;
- 网际层对应网络层;
- 网络接口层对应数据链路层和物理层。
如何制作GBK与Unicode的对照表
从网上搜索到发表于2010年的《制作GBK-Unicode编码对照表的方法》拷贝于下供参考:
Java的字符串String类功能强大,不但能进行一些基本的字符串操作,还可以根据需要构造指定字符集的字符串,本文所介绍的方法正是利了这一点,这种方法的基本思路是:
1、遍历GBK编码表中的所有汉字,使用该字的GB编码构造一个字符串。GBK编码表中各部分的汉字分块比较整齐,很容易遍历。
2、使用getBytes方法取得该字符的字节数组,由于Java是用unicode来表示字符的,所以此汉字的unicode就在其中。
以下是一段示例代码:
{
int count = 0;
for(int segIndex=0xb0; segIndex《=0xf7; segIndex++) {
for(int charIndex=0xa1; charIndex《=0xfe; charIndex++) {
byte gbkBytes = new byte {(byte)(segIndex), (byte)charIndex};
byte unicodeBytes;
String str = new String(gbkBytes,“GBK“);
unicodeBytes = str.getBytes(“unicode“);
if(unicodeBytes.length == 4) {
count++;
String buffer = ““;
for (int i=0;ibr /》 buffer += (int)(0x00ff&gbkBytes[i]) + “ “;
for (int i=3;i》1;i--)
buffer += (int)(0x00ff&unicodeBytes[i]) + “ “;
buffer += ““;
osw.write(buffer);
}
}
}
}
这一段是对GBK/2区的汉字进行遍历并处理的代码,GBK/2区的首字节范围在[0xb0,0xf7],尾字节范围在[0xa1,0xfe],在构造字符串时使用的字符集为GBK
String str = new String(gbkBytes,“GBK“);
在使用getBytes取得的字节数组中会有四个元素,前两个不知是做什么用的,可能与字符串本身的结构有关,接下来的两个字节才是真正的unicode码。但这两个字节是倒序的,要从最后一个字节开始取,之所以这样是与big_endian和little_endian有关的,这里不多说。
当每一次内层循环结束时,buffer字符串中前两个数字就是一个GB码,后面两个数字就是一个unicode码,把它写到文件中就行了。
这样的文件得到之后,再在另外的程序中载入文件,把Unicode值装入数组,以GB码为索引,就可以很方便地由GB码查得Unicode码。
-tcp
应用程序中发生了无法处理的异常
该问题是由于程序代码在进行处理时,输入了不正确数值导致的。
例如在处理年龄的时候,不小心输入了负数。
从实际情况来说,不会出现负数的情况。
程序如果没有考虑出现负数的情况,就会发生问题。
问题中的情况就是value这个变量出现了负值。
如果你是程序员,拥有程序的源代码,建议进行调试,查看究竟是哪里出现了问题。
如果你是普通的用户,建议检查一下输入的数据是不是出现了问题。输入了不正确的内容。
如果我的回答能够帮助到你,希望能采纳我的回答。谢谢。
-c