数据类型和运算符

241 阅读2分钟
  1. 数字与字符串
  • 都是一为什么分 1'1'
  • 功能不同,数字是数字,字符串是字符串,要严谨
  • 数字能加减乘除,字符串不行
  • 字符串能表示电话号码,数字不行(数字不能以0开头,有的电话号码由字母组成)
  • 存储形式不同
  • JS中数字是用64未浮点数的形式存储的
  • JS中,字符串是用类似UTF-8形式存储(UCS-2
  1. 如何存数字
  • 十进制转成二进制
  • 10转2:31变二进制

  • 所以31(10) = 01111(2)

  • 2转10:100011变成十进制

  • 每一位乘以2的N次方,然后加起来即可

  • 十六进制与二进制

  • 记住8421对应xxxx

  • HEX表示16进制,BIN表示2进制

  • OCT表示8进制,DEC表示10进制

  • 中国国家标准局,名称为「国标2312」,首份字符编码

  • 用0000~ffff表示汉字

  • 一个16进制是4个0/1位

  • ffff就是 4*4=16 位,也就是两个字符

  • 最多可收录 2^16=65536 个字符

  • 但只收录了6000多汉字、西文字母和日文假名,没收录繁体字,生僻字,韩文等

  • 「你」的GB2312编号为C4E3

  • 「牛」的GB2312编号为C5A3

  • 微软推出了一个国标扩展,简称GBK(国标扩)

  • 含21886个汉字和图形符号,收录了中日韩使用的几乎所有汉字,完全兼容GB2312,依然使用16位(两字节)

  • 后来国标局推出GB18030取代GBK,GB18030不兼容GB2312

  • 网页里有藏文、泰文,仍然显示不了

  • 万国码Unicode

  • 优点:

  • 已收录了13万字符(大于16位),全世界通用

  • 以后还会继续扩充,不会停止

  • 最新版只添加了一个字----令和的合体字

  • 缺点:

  • 两个字节不够用,每个字符要用三个及以上字节

  • 这样所有文件都扩大50%,不划算

  • UTF-8:

  • 存储「a」

a对应的Unicode编号为97,十六进制为61 Unicode直接存:00000000 00000000 01100001 UTF-8偷懒存法:01100001 三字节变一字节,比GBK还省

  • UTF-8中的8的意思是:最少可用8位存一个字符