最近在工作中需要用Python做大量的数据分析,在这些数据中,很大一部分都是中文。在处理过程中,中文编码处理花了一些时间。这里做一个记录。
首先是在Python脚本内的中文编码处理,这个网络上有很多教程和解决方案了,这里不再赘述。推荐参考:
继续阅读 »
字符级别的识别
早期深度学习在自然语言上的应用比较暴力,直接把数据往CNN里怼。文章Text Understanding from Scratch解释了为啥子CNN也能对文本分类:它先对字符集做了一个类似盲文的编码,将字符编码为定长(l)的向量,然后送入CNN网络来分类。
文章厉害的地方在于直接把所有的文本(中文换成拼音)直接怼进去,然后就能取得很厉害的分类结果。表示怀疑,有空了重复实验。还有一篇文章CNN for Sentence Classification稍有改进,把文本进行word embedding后,再送入了CNN。
,Max-pooling后得到固定长度的fea
继续阅读 »
在阅读《解析深度学习:语音识别实践》时,也会参考一些博客,看到好的也会整理一下分享出来。本文主要通过浅显的语言来展示语音识别的基本过程和原理。本文大部分内容转载至:语音识别的技术原理是什么?。
语音识别技术,也被称为自动语音识别AutomaTIc Speech RecogniTIon(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。下面我们来详细解读语音识别技术原理。
首先,我们知道声音实际上是一种波。常见的mp3等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如Windows P
继续阅读 »
Base32,Base64
Base32是一种将任意文件编码为只有基础32个字符的数据编码方式, 64则是64个。
主要目的是为了避免出现不符合规则的字符, 方便把含有不可见字符串的信息用可见字符串表示出来。
比如http协议当中的key value字段,必须进行URLEncode 不然出现的等号可能使解析失败 空格也会使http请求解析出现问题,比如 请求行就是以空格来划分的 POST /hi/you HTTP/1。1 推荐一篇文章
Base32有不合法字符/
继续阅读 »
在实现一个功能,推荐好友注册。
大致意思是注册的时候带上手机号,后端验证下手机号,就ok了
对用户mobile进行页面间的传递,但又想把用户mobile进行加密后传递,这样更安全.
在这个过程中会出现一个问题,就是URL编码问题,如果不对URL进行编码直接加码,那么在解码时,如果字符串存在“+”这种特殊符号,在解码时会出它替换成“ ”,此时在解密就会无法解开,导致错误的结果。
解决方法:
加密后,进行URL编码,然后到另一页面后,进行URL解码,再解密
解决方法2:
先对字符进行URL编码,再加密,这时不会出现+号等字符,然后到另一页面后,再解密,然后再解码即可。
解决!
思路比较简单,就不贴代码了。
继续阅读 »
非xss题 但是欢迎留言~
地址:get the flag
读取源码
在页面底部发现一个这样的链接:http://cms.nuptzj.cn/about.php?file=sm.txt ,说明题目提供了读取文件功能,如果使用 file://协议 读取,HTML预留字符会以字符实体显示,看起来不方便,所以也可以编码读取后再本地解码。
```php
http://cms.nuptzj.cn/about.php?file=php://filter/convert.base64-encode/resource=filename
在拿到的文件里搜索 ".php" ,顺藤摸瓜,能找到并读取到的文件有:
sm.txt
about.p
继续阅读 »
GBK简体中文版和UTF8简体中文版有什么区别?
ASCII(ISO-8859-1)是鼻祖,最简单的方式,字节高位为0
GB2312、GBK、GB18030,这几个是中文编码方式,并向下兼容。GB2312包含7000多个汉字和字符,GBK包含21000多个,GB18030更厉害,到了27000多个。他们都是用2个字节来表示一个汉字。跟ascii是怎么区分的呢?如果高字节的高位为1(也就是高字节大于127),就表示是汉字,低字节并无明显特征。
Unicode是统一编码,它建立了一个全世界统一的码表。世界上的所有文字,在这张码表中都是唯一的。
UTF-8是Unicode的一种存储、传输方式。它将整个Uni
继续阅读 »