网络上大多精彩的回答,该随笔用作自我总结: 首先计算机只认得二进制,0和1,所以我们现在看到的字都是经过二进制数据编码后的:计算机能针对0和1的组合做很多事情,这些规则都是人定义的:然后有了字节的概念,8比特一个字节,如01011100就是一个字节: 人定义好计算机的0和1的数据结构做事的时候,如果每个人都用不同的数据结构,不同的定义,就会使得人和人之间让计算机做的事无法统一,也导致无法通讯,所以要一起共同定义一套大家都认同的规则,其中ASCii码就是最初始的交换码,用做记录信息.交互信息的:…
浅谈ASCII .ISO8859-1.GB2312.GBK.Unicode.UTF-8 的区别. 首先,先科普一下什么是字符编码.字符是指一种语言中使用的基本实体,比如英文中的26个英文字母,标点符号,以及中文中的一个个汉字,都可以算做一个字符.而字符编码旨在将这些字符正确录入计算机中,转换成0101形式的计算机识别码,严格意义来讲字符编码其实是一种规范.遵守这种规范的录入编码,会在编码解码中获取正确的表示,不会出现乱码. ASCII:计算机发明自美国,自然最初的字符编码规范是以英文为基础的.录…
一.什么是Hex 将每一个字节表示的十六进制表示的内容,用字符串来显示. 二.作用 将不可见的,复杂的字节数组数据,转换为可显示的字符串数据 类似于Base64编码算法 区别:Base64将三个字节转换为四个字符,Hex将三个字节转换为六个字节 三.应用场景 在XML,JSON等文本中包含不可见数据(二进制数据)时使用 四.使用 1.将字节数组转换为字符串 /** * 将字节数组转换为字符串 * 一个字节会形成两个字符,最终长度是原始数据的2倍 * @param data * @return *…
一.什么是编码解码 编码:利用特定的算法,对原始内容进行处理,生成运算后的内容,形成另一种数据的表现形式,可以根据算法,再还原回来,这种操作称之为编码. 解码:利用编码使用的算法的逆运算,对经过编码的数据进行处理,还原出原始数据,这种操作称之为解码. 二.什么是Base64编码算法 可以将任意的字节数组数据,通过算法,生成只有(大小写英文.数字.+./)(一共64个字符)内容表示的字符串数据. 即将任意的内容转换为可见的字符串形式. 三.Base64算法的由来 以前发送邮件只支持可见字符的传送.…
浅谈Base64编码 我打赌当你见到Base64这个词的时候你会觉得在哪里见过,因为在你能够上网看到这篇文章的时候你已经在后台使用它了.如果您对二进制数有所了解,你就可以开始读它了. 打开一封Email,查看其原始信息(您可以通过收取.导出该邮件用文本编辑器查看).你会看到类似这样的一个效果: Date: Thu, 25 Dec 2003 06:33:07 +0800 From: "eSX?!" <snaix@yeah.net'>snaix@yeah.net'>sna…
目录 1.概述 2.ASCII编码 3.历史问题 4.Unicode 4-1.Unicode 编码方案 4-2.关于bom 5.UTF-8 6.UTF-16 1.概述 对于ASCII编码,相信同学们都比较了解,那么对于Unicode.UTF-8和UTF-16,它们是怎么编码的呢?以及它们之间的关系是什么呢?它们与ASCII之间又有什么关系? 本文就来回答这两个问题. 2.ASCII编码 在学校学 C 语言的时候,了解到一些计算机内部的机制,知道所有的信息最终都表示为一个二进制的字符串,每一个二进…
字符串编码在Python里边是经常会遇到的问题,特别是写文件以及网络传输的过程中,当调用某些函数的时候经常会遇到一些字符串编码提示错误,所以有必要弄清楚这些编码到底在搞什么鬼. 我们都知道计算机只能处理数字,文本转换为数字才能处理.计算机中8个bit作为一个字节,所以一个字节能表示最大的数字就是255.计算机是美国人发明的,而英文中涉及的编码并不多,一个字节可以表示所有字符了,所以ASCII(American national Standard Code for Information Inte…
一.为什么要用URLEncoder 客户端在进行网页请求的时候,网址中可能会包含非ASCII码形式的内容,比如中文. 而直接把中文放到网址中请求是不允许的,所以需要用URLEncoder编码地址, 将网址中的非ASCII码内容转换成可以传输的字符 不会被编码的内容 1.大写字母A-Z 2.小写字母a-z 3.数字 0-9 4.标点符 - _ . ! ~ * ' (和 ,) 二.编码原理 1.将需要转换的内容(ASCII码形式之外的内容),用十六进制表示法转换出来,并在之前加上%开头 eg:  0…
Android安全开发之浅谈密钥硬编码 作者:伊樵.呆狐@阿里聚安全 1 简介 在阿里聚安全的漏洞扫描器中和人工APP安全审计中,经常发现有开发者将密钥硬编码在Java代码.文件中,这样做会引起很大风险.信息安全的基础在于密码学,而常用的密码学算法都是公开的,加密内容的保密依靠的是密钥的保密,密钥如果泄露,对于对称密码算法,根据用到的密钥算法和加密后的密文,很容易得到加密前的明文:对于非对称密码算法或者签名算法,根据密钥和要加密的明文,很容易获得计算出签名值,从而伪造签名. 2 风险案例 密钥硬…
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   普通的linux 和 普通的windows.   VS2015 和 GCC 7.0 前言   曾记得,我在(https://blog.csdn.net/u011728480/article/details/100277582 <数与计算机 (编码.原码.反码.补码.移码.IEEE 754.定点数.浮点数)>)里面说过,计算机里面存储了数值和符号.…