编码转换

encodeURI、encodeURIComponent、escape区别

喜你入骨 提交于 2020-03-30 18:40:48
  在as3中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 1 public function escape(str:String):String 将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,大多数非字母数字的字符都替换为 % 十六进制序列。当用于 URL 编码的字符串时,百分号 (%) 用于引入转义字符,不与模运算符 (%) 等效。 下表显示不会 由 escape() 函数转换为转义序列的所有字符。 未编码的字符 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z @ - _ . * + / 参数 str:String — 要转换为字符串并以 URL 编码格式进行编码的表达式。 返回 String — 一个 URL 编码的字符串。 2 public function encodeURI(uri:String):String 将字符串编码为有效的 URI(统一资源标识符)。将完整的 URI

encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

杀马特。学长 韩版系。学妹 提交于 2020-03-30 18:30:54
一、这四个方法的用处 1、用来编码和解码URI的 统一资源标识符,或叫做 URI,是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串。除了encodeURI、encodeURIComponent、decodeURI、decodeURIComponent四个用来编码和解码 URI 的函数之外 ECMAScript 语言自身不提供任何使用 URL 的支持。 2、URI组成形式 一个 URI 是由组件分隔符分割的组件序列组成。其一般形式是: Scheme : First / Second ; Third ? Fourth 其中斜体的名字代表组件;“:”, “/”, “;”,“?”是当作分隔符的 保留字符 。 3、有和不同? encodeURI 和 decodeURI 函数操作的是完整的 URI;这俩函数假定 URI 中的任何保留字符都有特殊意义,所有不会编码它们。 encodeURIComponent 和 decodeURIComponent 函数操作的是组成 URI 的个别组件;这俩函数假定任何保留字符都代表普通文本,所以必须编码它们,所以它们(保留字符)出现在一个完整 URI 的组件里面时不会被解释成保留字符了。 以上说明摘自 ECMAScript标准 4、图解四个函数的不同: ECMA对这四个函数还做了 详细解释 当

escape()、encodeURI()、encodeURIComponent()区别详解

谁说我不能喝 提交于 2020-03-30 18:24:54
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 下面简单介绍一下它们的区别 1 escape()函数 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 语法 escape(string) 参数 描述 string 必需。要被转义或编码的字符串。 返回值 已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。 2 encodeURI()函数 定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码。 语法 encodeURI(URIstring) 参数 描述 URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

escape()、encodeURI()、encodeURIComponent()区别详解

醉酒当歌 提交于 2020-03-30 18:23:50
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 下面简单介绍一下它们的区别 1 escape()函数 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 语法 escape(string) 参数 描述 string 必需。要被转义或编码的字符串。 返回值 已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。 2 encodeURI()函数 定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码。 语法 encodeURI(URIstring) 参数 描述 URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

浅析Python3中的bytes和str类型

眉间皱痕 提交于 2020-03-30 03:41:29
  本博转载自: Chown-Jane-Y 的 浅析Python3中的bytes和str类型   Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是 Unicode ,由 str 类型表示,二进制数据则由 bytes 类型表示。Python 3不会以任意隐式的方式混用 str 和 bytes ,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然)。 下面让我们深入分析一下二者的区别和联系。 编码发展的历史 在谈 bytes 和 str 之前,需要先说说关于编码是如何发展的。。 在计算机历史的早期,美国为代表的英语系国家主导了整个计算机行业,26个英文字母组成了多样的英语单词、语句、文章。因此,最早的字符编码规范是 ASCII码,一种8位即1个字节的编码规范 ,它可以涵盖整个英语系的编码需要。 编码是什么?编码就是把一个字符用一个二进制来表示。我们都知道,所有的东西,不管是英文、中文还是符号等等,最终存储在磁盘上都是01010101这类东西。在计算机内部,读取和存储数据归根结底,处理的都是0和1组成的比特流。问题来了,人类看不懂这些比特流,如何让这些010101对人类变得可读呢?于是出现了字符编码,它是个翻译机,在计算机内部某个地方,透明的帮我们将比特流翻译成人类可以直接理解的文字

NodeJS学习笔记(二).js

一个人想着一个人 提交于 2020-03-30 03:23:39
1 Stream(数据流) 当内存中无法一次装下需要处理的数据时,或者一边读取一边处理更加高效时,我们就需要用到 数据流。NodeJS中通过各种 Stream 来提供对数据流的操作。 (1)为数据来源创建一个只读数据流: var rs = fs.createReadStream(src); // 从src读取文件, 返回一个新的可读流对象 rs.on('data', function (chunk) { // 触发'data'事件 rs.pause(); //暂停触发'data'事件 doSomething(chunk, function () { rs.resume(); //恢复触发'data'事件 }); }); rs.on('end', function () { cleanUp(); }); (2)为数据目标创建一个只写数据流: var rs = fs.createReadStream(src); var ws = fs.createWriteStream(dst); rs.on('data', function (chunk) { if (ws.write(chunk) === false) { rs.pause(); } }); rs.on('end', function () { ws.end(); }); ws.on('drain', function () {

Servlet的HttpServletRequest对象在Tomcat8中获取参数乱码现象

梦想的初衷 提交于 2020-03-29 15:52:47
1.GET请求    tomcat8之前,GET请求的默认编码格式是欧洲标准:ISO-8895-1    tomcat8及之后,GET请求的默认编码已经改为UTF-8了    tomcat8之前修改GET的请求的编码主要有以下几种方式。    1)在tomcat目录下的conf目录中的server.xml文件中,修改Connector标签的值为 <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" <!-- 添加参数 --> URIEncoding="UTF-8" useBodyEncodingForURI="true"/>    2)在服务中(service/doGet方法中)使用一下语句自己转换编码 : 推荐 String username = new String(request.getParameter("username").getBytes("iso8859-1"),"utf-8"); 2. POST请求    不管是Tomcat8之前还是Tomcat8之后,Servlet在获取到post请求的值的时候,默认编码格式都是ISO-8895-1。 所以要解决中文乱码问题

Android 能够暂停的录音功能

99封情书 提交于 2020-03-29 12:17:19
Android ApI提供了MediaRecorder和AudioRecord两个类给开发者来很方便地实现音视频的录制(前者可以实现音频和视频的录制,后者只能实 现音频的录制)。这两个类都提供了start()和stop()方法用于开始和结束音频或视频的录制,但令人费解的是这两个类都没有提供pause()方 法用于暂停录制音视频,因为在实际应用当中,暂停录制的功能是非常有必要的Android 实现能够暂停的录音功能 需实现音频录制的暂停功能,并且生成的音频文件格式必须是m4a格式 为什么项目中音频文件一定要采用m4a格式的呢?有以下几点原因: 1. 录制相同时间的音频,使用m4a格式存储的文件的大小要比使用其它格式类型存储的文件的大小要小(通过实验多次,在相同采样率16000的情况下,一般录 制5分钟的音频,采用m4a格式存储的音频文件只有1.2Mb,而采用arm、mp3及其它格式的一般都有2-5Mb),这样当用户需要 下载 或上传录制的音频文件时,可以节省流量,并且相同压缩率的前提下,m4a格式音频的音质相比其它格式的也更高; 2.产品同时拥有Android客户端和IOS客户端,那为了避免使用Android客户端的用户录制的音频上传到服务器之后,使用IOS客户端的用户下 载下来发生无法播放的问题,我们需统一录制音频的存储格式

OSI体系结构(一)——物理层详解

我与影子孤独终老i 提交于 2020-03-28 16:19:16
前言 我们知道,虽然OSI协议的实现太过于复杂,几乎没有厂商可以生产出符合该协议的通信产品,但OSI七层模型的体系结构,概念十分清晰,理论也很完整。本文就OSI体系结构来进行介绍和对比。 国际标准化组织除了定义了OSI参考模型外,还开发了实现7个功能层次的各种协议和服务标准,这些协议和服务统称为“OSI协议”。OSI协议是一些已有的协议和OSI新开发的协议的混合体。例如,大部分物理层和数据链路层协议采用的是现有的协议,而数据链路层以上的是由该组织自行起草的。产生OSI协议的目的是提出能满足所有组网需求的国际标准,但到目前为止,实现情况距离这一目标还非常遥远。 虽然OSI协议集缺乏商业动力,但OSI/RM作为网络系统的知识框架,对于学习和理解网络标准还是十分有用的。和其他的协议集一样,OSI协议是实现某些功能过程的描述和说明。每一个OSI协议都详细的规定了特定层次的功能特性。 OSI协议集如下图所示: 下面我们来分别说明7个功能层次的各种协议与各层的功能: 在物理层中,OSI采用了各种现有的协议,其中有RS-232、RS-449、X.21、V.35、ISDN,以及FDDI、IEEE 802.3、IEEE 802.4和IEEE 802.5的物理层协议。 物理层(Physical Layer)是OSI模型中最低的一层,位于OSI参考模型的最底层,它直接面向实际承担数据传输的物理媒体

SqlServer数据库中文乱码问题解决方法

◇◆丶佛笑我妖孽 提交于 2020-03-28 12:57:15
题:创建新数据库,存入中文显示乱码??? 原因分析:SQL版的乱码问题还是出现在SQL SERVER的安装设置上。默认安装时系统默认的排序规则是拉丁文的排序规则,但一般人在安装时没有考虑到这一点,安装时只是点取下一步,安装完成后,造成了SQL版在使用过程中出现乱码。 解决方法1: 如果是新建数据库,可以在建立数据时指定排序规则,记得选中文简体(Chinese_PRC_CS_AI_WS);如果数据库中已经有数据,则转换 编码会失败 操作步骤 1.右键数据库》属性 2.点击“选项”》修改排序方式 解决方法2: 最彻底的就是重装SQL,在安装时自定义安装,选好语言版本及排序规则,这样问题就解决了。 参数解释如下: 前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。 排序规则的后半部份即后缀 含义:   _BIN 二进制排序   _CI(CS) 是否区分大小写,CI不区分,CS区分   _AI(AS) 是否区分重音,AI不区分,AS区分      _KI(KS) 是否区分假名类型,KI不区分,KS区分  _WI(WS) 是否区分宽度WI不区分,WS区分  区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。 区分重音:如果想让重音和非重音字母视为不等,请选择该选项。如果选择该选项, 比较还将重音不同的字母视为不等。 区分假名