utf-8和base64啥区别啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了utf-8和base64啥区别啊?相关的知识,希望对你有一定的参考价值。
答:
可以这么理解,iso88591和utf-8编码是为了语言的需要。比如说中文可以用utf-8编码,但是不能用iso88591这种编码,因为iso88591设计的时候就没有考虑过中文汉字那么多,因此只能显示字母数字和一些符号,而utf8这种变长编码可以容纳非常多的字符,可以用来表示足够多的汉字。所以一个utf8编码的文本用只支持iso88591的编辑器打开就会乱码。
而url编码和base64编码则完全不同。比如url编码只是为了将一些http请求中不支持的特殊字符转换成支持的字符组合。base64编码则是从二进制层面来说,将二进制流使用64个字符的组合表示。
以下是base64参数表
参考技术A 区别如下:一、utf-8和base64进制不同
base64:
1、包含A-Z a-z 0-9 和加号“+”,斜杠“/” 用来作为开始的64个数字. 等号“=”用来作为后缀用途,采用2进制。常用于邮件,使用范围最广。
urlencode:
除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。使用环境:json是有编码区别的,只支持utf-8。
二、编码方式不同。
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
三、使用情况不同。
要在多语言环境中通用,那就是要使用UTF,这可以理解为存储数据格式。用了UTF是让大家都能识别数据,不然就会乱码。
base-64的话,不是底层存储格式,只是为了数据交换用有。比如图片变成字符格式,这是一种应用格式。 参考技术B utf8 用于编码。
base64 用于加密。
这么说可以吗→_→,←_← 参考技术C UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。追问
何时用utf-8编码何时用base-64编码?
追答要在多语言环境中通用,那就是要使用UTF,这可以理解为存储数据格式。用了UTF是让大家都能识别数据,不然就会乱码
base-64的话,不是底层存储格式,只是为了数据交换用有。比如图片变成字符格式,这是一种应用格式
以上是关于utf-8和base64啥区别啊?的主要内容,如果未能解决你的问题,请参考以下文章
Java里,,啥是二进制? 啥是base64?他们有啥区别?
Java Base64加码解码 Base64.encodeBase64 ( ) 和 new BASE64Enccoder( ).encode( )区别