java基础扫盲--字节、字符、位

历史问题

大家都知道计算机这东西是洋鬼子搞出来的,他的底层实现是二进制。也就是说,计算机里面,二进制,简简单单的0和1可以表示世间万物,可以创造世间万物。

一生二,二生三,三生万物。

不知道创造者是否参考过我大中华博大精深的文化。

这里说的位就是指的二进制位了,也就是说的0或者1。他们都可以表示一位。英文名就是bit了。

字节

字节其实就是一个单位,我们通过单位知道文件的大小。这就好比你上菜市场卖肉的时候问店家猪肉多少钱一斤一样,在计算机的世界里面,我们经常会问猪肉多少钱一字节。如果你知道一斤猪肉大体上有多大,够炒几个菜。那么你就大概了解一字节的文件大体上有多大,能装的下几个字儿了! 其实,我们平时接触的比较多的是M,K还有G。是吧? 其实,他们都是计量单位。字节的英文表示为byte(为什么我输入byt的时候,搜狗给我提示的避孕套呢?)。他们之间的转化关系如下:

  • 1G=1024M
  • 1M=1024K
  • 1K=1024byte

好了,大家清楚他们之间的关系了吧?我们平时的流量套餐呢?1G?大概就是1*1024*1024=1048576KB了。假如,我们平时浏览一篇文章用20k,看一张图片用40K,听一首歌用3M,看一部电影用100M。能用多少流量,大家自己算去吧! 那么,字节和位之间存在关系吗? 当然存在,只要在计算机的世界里面出现的任何东西,都和位存在关系! 一个字节等于8位。就是说8个0和1的组合表示一个字节。 00000000 11111111 都可以表示一个字节。

字符

字符简单了!就是我们平时看到的一切字母、符号、中文、法文、日文等等。c是个字符、中也是个字符。 说到字符呢,就不得不说一下编码格式了。这里只说一下比较常用的编码格式,其他的编码格式,大家可以自行百度理解研究。

  1. ASCII 洋鬼子最早搞出来的编码格式。该编码下,一个字符需要一个字节表示,也就是说占8位。这样的话有256中0和1的组合方式,可以表示256个不同的字母。对于,英文而言就绰绰有余了。
  2. UNICODE 显然,洋鬼子在设计ASCII码的时候没有考虑到遥远的东方,存在博大精深的文化。新华字典里面的汉字有多少个?显然256是远远不够的!那平方呢?65535?够了吧?还不够? 这里就说到一个网络上经常出现的一个问题,UNICODE编码里面,一个汉字占几位的问题。很多老程序员会这么说:“一个汉字占两个字节!” 在GBK编码里面是2个字节,但是在unicode编码里面是不对的!其实,很多时候,汉字占几个自己完全取决于编码格式。编码格式也不难写,因此对于汉字的编码有多种说法:ubuntu12.04里面一个汉字是三个字节!

它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

如上,unicode编码的描述。 就是说,在unicode编码下,一个汉字可能是2个字节,也可能是3个或者是4个字节。

  1. utf8 该编码格式我们是不是经常用到呢? 该编码格式其实是基于unicode。确实,unicode被很多编码格式拿来做基础编码。 在utf8编码格式下,英文字母占一个字节,和ascii完全相同。 汉字或者是其他字符占1-4个字节。

char

这里我们说一下java中的char类型。 在java中,char类型占2个字节,16位。 可以采取如下方式为char类型变量赋值:

  • 作者:OnyWang 链接:https://www.jianshu.com/p/d9042d11fc6a

原文发布于微信公众号 - java思维导图(java-mindmap)

原文发表时间:2018-01-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

Python模块知识2:时间日期日历模块Time、Datetime、Calendar

1、time模块 时间为什么从1970年开始:因为Linux系统那一年开始使用;通常由以下几种方式表示时间: 时间戳:1970年1月1日之后的秒,即:time....

2555
来自专栏GopherCoder

『Go 语言学习专栏』-- 第二期

1295
来自专栏程序人生

谈谈面向对象编程

最近写了些和函数式编程的文章,有读者和我讨论函数式编程和面向对象编程的优劣。二者都是很好的编程思想,都在着力解决代码重用的问题,也彼此吸收对方的优点,所以大可不...

42411
来自专栏怀英的自我修炼

怀英漫谈4-JS中的Map

昨天是2017年工作的最后一天,伴随着昨天的结束,2017年的工作告一段落。 昨天和前天,在工作中,将一个双重循环的寻找逻辑,改为饿了用对象模拟的Map逻辑,使...

3036
来自专栏灯塔大数据

干货 | 国外大神总结的10个Java编程技巧!

“任何可能出错的事情,最后都会出错。”这就是人们为什么喜欢进行“防错性程序设计”的原因。

1191
来自专栏web编程技术分享

js常用方法和一些封装(1)1.字符串相关2.数组相关

3999
来自专栏python3

python--初始面向对象:类的相关知识,对象的相关知识

当然很简单,两个角色,1个人物,1个boss,且人物和boss都有不同的技能,比如人物用觉醒技能秒了boss,掉了xx装备,boss用大招秒了人物,人物死亡,怎...

912
来自专栏AzMark

Python字典的介绍

1312
来自专栏Golang语言社区

转-Golang语言Interface漫谈

一件作品的诞生,通常是一个设计师独立完成的。因为这样,一件建筑也好,画作或者音乐舞蹈也好,才能真实反映出其个性。而正是这种不同于其他同类的独特一面,正是这种发自...

3265
来自专栏企鹅号快讯

PHP弱类型在CTF中的应用

PHP作为世界上最好的语言(然而人生苦短,我用python),在CTF web题中大放异彩,深受出题人的喜爱。P神在对web题出题套路总结的第三条指出,出题人喜...

8075

扫码关注云+社区

领取腾讯云代金券