1.1  避不开的编解码 能阅读本文的想开都是从事计算机开发工作的,那么弱弱的问自己一下,有没有受到过编码的纠缠呢?有没有动过心思,如果没有编码该多好? 1.1.1  这个翻译你得捏着鼻子用 要想说明白上面这个问题,我们应该了解一下人机交互--计算机是怎么识别我们现实世界如海的符号的,这些符号说白了就是我们人类使用的语言与符号,表示这些语言的符号太多了,而计算机中一个字节8位二进制,最多也不过是存储0~255个字符.因此必须经过一些拆分才能在计算机中使用.通俗来讲,我们可以把计算机能够理解的语言…
前几天做一个邮件发送功能,一些常用信息配置在properties文件中,通过prop.getProperty(key)来获取配置的信息,结果配置文件中是用中文写的,邮件发送成功后,邮箱中的激活链接是乱码?properties配置文件中的中文转成Unicode后就解决了?虽然解决了问题,但说不出的糊涂,不甚明白编解码的底层.近日看<<锋利的jQuery>>在JS中使用了encodeURI,再次遇到了编码问题,使我下决心搞清楚编解码.本文资料来源于书籍:<<深入分析Java…
1.4.1.1  URL编码的理论解读 我们在做JavaWeb时避不过GET请求,GET请求和POST请求最大一点不同就在于参数,GET请求的参数会URL中,而POST请求的参数则会在HTTP Header中.那么我们服务器收到的的URL链接是不是应该是和请求的URL是一样的呢?实际上并非如此,浏览器发送的请求会首先经过URL编码,那么为什么要如此呢?浏览器发送的URL编码我们后台处理和POST请求一样吗?下面我们来详细介绍一下,首先介绍一下为什么要进行URL编码. 1.4.1.1.1 为什么会…
3438: 小M的作物 题目:传送门 题解: 最小割标准水题(做了几天的最小割之后表示是真的水) 为什么水:博主已经做过两道基本一样的题目了... 详情参考:bzoj3894 代码: #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<algorithm> #define N 510000 #define inf 999999999 #defi…
前言:Java默认采用大端序存储方式,实际编码的音频数据是小端序,如果处理单8bit的音频当然不需要做转换,但是如果是16bit或者以上的就需要处理成小端序字节顺序. 注:大.小端序指的是字节的存储顺序是按从高到低还是从低到高的顺序存储,与处理器架构有关,Intel的x86平台是典型的小端序存储方式 1.Java中使用ByteOrder.LITTLE_ENDIAN表示小端序,ByteOrder.BIG_ENDIAN表示大端序 小端序:数据的高位字节存放在地址的低端 低位字节存放在地址高端 大端序…
1.is和==的区别 1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址 >>> s1 = "Tanxu" >>> s2 = "Tanxu" >>> id(s1) 49754608 >>> id(s2) 49754608 >>> lst1 = [1,2,3] >>> lst2 = [1,2,3] >>> id(lst1)…
--> 打开chrome --> F12或Fn+F12打开控制台 --> encodeURIComponent("url") --> 回车…
Google的Protobuf在业界非常流行,很多商业项目选择Protobuf作为编解码框架,Protobuf的优点. (1)在谷歌内部长期使用,产品成熟度高: (2)跨语言,支持多种语言,包括C++.Java和Python: (3)编码后的消息更小,更加有利于存储和传输: (4)编解码的性能非常高: (5)支持不同协议版本的前向兼容: (6)支持定义可选和必选字段. Protobuf的入门 Protobuf是一个灵活.高效.结构化的数据序列化框架,相比于XML等传统的序列化工具,它更小,更快,…
首先我们来看一下protobuf的优点: 谷歌长期使用成熟度高: 跨语言支持多种语言如:C++,java,Python: 编码后消息更小,更利于存储传输: 编解码性能高: 支持不同协议版本的兼容性: 支持定义可选和必选字段: 接下来就让我们试用一下吧. 一.Protobuf开发环境搭建 下载Protobuf的Windows版本,本博主用的是protoc-3.6.1-win32.zip,解压后进入bin目录可以看到protoc.exe(下面的.proto文件是博主事先拉进来的) 然后我们打开cmd…