`
280862132
  • 浏览: 85825 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Java网络基本操作

阅读更多
网络来源: http://cuisuqiang.iteye.com/blog/1695498
获取一个 Byte 的各个 Bit 值
1. bit:位
    一个二进制数据0或1,是1bit;
2. byte:字节
    存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45)  即是指 45个字节;
    1 byte = 8 bit
3. 一个英文字符占一个字节;
    1 字母 = 1 byte = 8 bit
4. 一个汉字占2个字节;
    1 汉字 = 2 byte = 16 bit
byte:一个字节(8位)(-128~127)(-2的7次方到2的7次方-1)
short:两个字节(16位)(-32768~32767)(-2的15次方到2的15次方-1)
int:四个字节(32位)(一个字长)(-2147483648~2147483647)(-2的31次方到2的31次方-1)
long:八个字节(64位)(-9223372036854774808~9223372036854774807)(-2的63次方到2的63次方-1)
float:四个字节(32位)(3.402823e+38 ~ 1.401298e-45)(e+38是乘以10的38次方,e-45是乘以10的负45次方)
double:八个字节(64位)(1.797693e+308~ 4.9000000e-324

Java中数据流的操作很多都是到byte的,但是在许多底层操作中是需要根据一个byte中的bit来做判断!
Java中要根据byte获得bit就要进行一些位操作,不过为了使用我直接给出解决方案,至于位操作的一些内容,回头再说!

package com.test;
import java.util.Arrays;
public class T {
/**
* 将byte转换为一个长度为8的byte数组,数组每个值代表bit
*/
public static byte[] getBooleanArray(byte b) {
byte[] array = new byte[8];
for (int i = 7; i >= 0; i--) {
array[i] = (byte)(b & 1);
b = (byte) (b >> 1);
}
return array;
}
/**
* 把byte转为字符串的bit
*/
public static String byteToBit(byte b) {
return ""
+ (byte) ((b >> 7) & 0x1) + (byte) ((b >> 6) & 0x1)
+ (byte) ((b >> 5) & 0x1) + (byte) ((b >> 4) & 0x1)
+ (byte) ((b >> 3) & 0x1) + (byte) ((b >> 2) & 0x1)
+ (byte) ((b >> 1) & 0x1) + (byte) ((b >> 0) & 0x1);
}
public static void main(String[] args) {
byte b = 0x35; // 0011 0101
// 输出 [0, 0, 1, 1, 0, 1, 0, 1]
System.out.println(Arrays.toString(getBooleanArray(b)));
// 输出 00110101
System.out.println(byteToBit(b));
// JDK自带的方法,会忽略前面的 0
System.out.println(Integer.toBinaryString(0x35));
}
}

输出内容就是各个 bit 位的 0 和 1 值!

根据各个Bit的值,返回byte的代码:

/**
* 二进制字符串转byte
*/
public static byte decodeBinaryString(String byteStr) {
int re, len;
if (null == byteStr) {
return 0;
}
len = byteStr.length();
if (len != 4 && len != {
return 0;
}
if (len == {// 8 bit处理
if (byteStr.charAt(0) == '0') {// 正数
re = Integer.parseInt(byteStr, 2);
} else {// 负数
re = Integer.parseInt(byteStr, 2) - 256;
}
} else {// 4 bit处理
re = Integer.parseInt(byteStr, 2);
}
return (byte) re;
}
分享到:
评论

相关推荐

    Java网络操作实例

    10. **实战示例**:实际的Java网络操作实例可能包括文件上传下载、HTTP请求、FTP操作、邮件发送等。理解并实践这些示例有助于深化对Java网络编程的理解。 总的来说,Java提供了全面的工具和技术来处理各种网络操作...

    java网络编程第四版pdf

    总的来说,《Java网络编程(第四版)》是一本全面而实用的教程,适合有一定Java基础的开发者学习。它不仅涵盖了网络编程的基础知识,也深入到高级特性和实践技巧,对于想要提升网络编程能力的Java程序员来说,是一本...

    java网络编程基础

    总结来说,这个"java网络编程基础"示例涵盖了如何创建基本的服务器和客户端应用程序,以及如何通过TCP连接进行数据交换。通过分析和学习这两个文件,初学者可以了解Java网络编程的基本概念,为进一步的网络应用开发...

    Java网络编程(第4版)PDF

    此书全面覆盖了Java网络编程的基础和高级概念,帮助开发者理解如何利用Java语言构建高效、可靠的网络应用程序。 在Java网络编程中,首要涉及的是I/O模型。书中会介绍基础的套接字(Socket)编程,包括TCP和UDP协议...

    JAVA网络编程基础案例

    在JAVA网络编程基础案例中...通过学习和实践这些Java网络编程基础案例,开发者能够掌握网络通信的基本原理和技巧,为构建复杂、高性能的网络应用打下坚实的基础。不断深入研究和实践,才能更好地应对各种网络编程挑战。

    纯java 网络硬盘

    1. **Java网络编程**:Java中的Socket编程是实现网络通信的基础,通过ServerSocket类创建服务器端监听端口,Socket类建立客户端连接,实现数据的收发。 2. **HTTP协议**:通常,网络硬盘会采用HTTP或HTTPS协议与...

    java网络编程

    Java网络编程是Java开发中的重要领域,它涵盖了网络通信的所有基本概念和技术,包括TCP/IP协议、套接字(Socket)编程、多线程、HTTP、HTTPS等。在本资料中,《Java网络编程》第三版提供了深入浅出的讲解,旨在帮助...

    Java网络编程期末考试复习题库+答案

    1. **Java I/O**: Java I/O系统是Java网络编程的基础,包括InputStream、OutputStream、Reader、Writer等基本流,以及FileInputStream、FileOutputStream等文件流。此外,还有BufferedInputStream、BufferedReader等...

    Java网络编程大全

    Java网络编程是Java开发中的重要领域,它涵盖了网络通信的所有基本概念和技术,包括TCP/IP协议、套接字编程、HTTP协议、多线程以及网络数据的传输与解析。本资源"Java网络编程大全"显然是一个综合性的学习资料,旨在...

    Java教学视频录像(高级篇)之Java网络编程基础.zip

    最后,"Java网络编程基础.txt"很可能是课程的核心内容概述,它可能涵盖了TCP/IP协议栈、套接字编程、多线程处理网络请求、异常处理、网络安全以及Java网络库如NIO(New IO)和NIO.2的知识点。在Java中,Socket类用于...

    java网络编程详解

    总的来说,Java网络编程涵盖了许多主题,从基础的套接字通信到高级的多线程管理,从URL操作到各种网络协议的实现,再到网络安全策略。理解并熟练掌握这些知识点,将使你能够构建稳定、高效且安全的网络应用程序。...

    Java 网络协议源码

    Java网络协议源码是深入理解Java网络编程的关键资源,它涵盖了网络通信中各种协议的实现细节。这份资料可能包括了TCP/IP、HTTP、FTP等常用网络协议的Java源代码实现,对于开发者来说,是一个深入了解网络协议工作...

    《Java程序设计之网络编程》

    《Java程序设计之网络编程》是一本专注于Java网络编程的教材,它涵盖了网络通信的基础理论以及Java语言在实现网络应用中的各种技术。该资源包括课件和源码,旨在帮助学习者通过实践来深入理解Java网络编程的核心概念...

    java网络高级编程

    在TCP/IP协议栈中,Java网络编程通常涉及以下层次: 1. 应用层:这一层包含HTTP、FTP、SMTP等应用协议。Java的`HttpURLConnection`和`HttpClient`库可以处理HTTP通信,而`MailAPI`则处理电子邮件发送。 2. 传输层...

    Java网络编程精解(孙卫琴)电子教案

    1. **Java网络编程基础** - **网络编程模型**:Java网络编程基于客户-服务器模型,客户端发起请求,服务器响应。这一模型在Java中通过Socket和ServerSocket类来实现。 - **Java I/O**:网络通信中数据的传输离不开...

    Java网络编程资料

    总结起来,这份资料包涵盖了Java网络编程的核心部分:基础的Socket编程,深入的TCP协议理解,以及高级的事务管理机制。通过学习这些内容,开发者能够熟练地构建和优化网络应用程序,处理并发和数据传输问题,同时...

    Java语言基础 Java网络编程技术 Java程序设计使用教程 全套PPT课件资源 共10个章节 含全部源代码.rar

    Java网络编程技术 Java程序设计使用教程 第08章 Applet应用程序(共34页).pptJava语言基础 Java网络编程技术 Java程序设计使用教程 第09章 输入输出流和文件操作(共37页).pptJava语言基础 Java网络编程技术 Java...

    Java网络编程.chm

    总的来说,"Java网络编程.chm"这本书涵盖了网络编程的基本概念、核心技术以及实际应用,对于学习和提升Java网络编程技能非常有帮助。通过阅读和实践书中的例子,开发者能够掌握创建网络应用程序、处理网络请求和响应...

    java网络编程源码

    Java网络编程是Java开发中的重要领域,它涵盖了网络通信的所有基本概念和技术,包括TCP/IP协议栈、套接字(Socket)编程、多线程、数据传输格式等。孙卫琴的《java网络编程》一书深入浅出地讲解了这些核心概念,并...

    Java网络文件传输

    总之,Java网络文件传输是一个涵盖网络编程、I/O操作和多线程等多个领域的综合实践项目。通过这个项目,开发者可以学习到如何在实际环境中运用Java技术解决实际问题,提升自己的编程技能和解决问题的能力。

Global site tag (gtag.js) - Google Analytics