编码转换

视频格式

本小妞迷上赌 提交于 2020-01-02 18:54:04
视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类。尽管后者 在播放的稳定性和播放画面质量上可能没有前者优秀,但网络流媒体影像视频的广泛传播性使之正被广泛应用于视 频点播、网络演示、远程教育、网络视频广告等等互联网信息服务领域。 注:原始的视频数据可以理解为通过摄像头等驱动获取的没有经过编码的数据,市面上 usb 摄像头输出格式常见的 有:RGB24、YUV2、YV2(这些都是没有编码的原始数据),MJPEG(经过编码的数据)。摄像头捕捉的数据也是 可以设置的,比如 windows 下用 cap 来设置。 MPEG/MPG/DAT MPEG(运动图像专家组)是 Motion Picture Experts Group 的缩写。这类格式包括了 MPEG-1,MPEG-2 和 MPEG-4 在内的多种视频格式。MPEG-1 相信是大家接触得最多的了,因为其正在被广泛地应用在 VCD 的制作和一些视频 片段下载的网络应用上面,大部分的 VCD 都是用 MPEG1 格式压缩的( 刻录软件自动将 MPEG1 转换为 DAT 格 式 ) ,使用 MPEG-1 的压缩算法,可以把一部 120 分钟长的电影压缩到 1.2 GB 左右大小。MPEG-2 则是应用在 DVD 的制作,同时在一些 HDTV(高清晰电视广播)和一些高要求视频编辑、处理上面也有相当多的应用

python初学笔记(三)

可紊 提交于 2020-01-02 18:28:18
Unicode字符串 字符串还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节 (byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。 如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。 类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。 Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。 因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。 Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如: print u'中文' 中文 注意: 不加 u ,中文就不能正常显示。

python2 编码问题详解

我的未来我决定 提交于 2020-01-02 17:29:57
实例对比 定义 type str unicode print encode('utf8') decode('utf8') encode('unicode-escape') encode('string-escape') 编码推测 a='中' str '\x??\x??' 报错 正常 报错 报错 报错 '\\x??\\x??' ascii a=u'中' unicode 报错 u'\u????' 正常 '\x??\x??\x??' 报错 '\\u????' 报错 unicode ascii --> unicode --> utf-8 ascii:最早的,容量最小的编码方式。1个字节表示一个字符。 unicode:加入多国字符,一般是2个字节表示一个字符,偏僻字用4个字节。缺点:浪费存储空间。 utf-8:为了解决浪费空间的问题,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。 在计算机内存中,统一使用Unicode编码。当需要保存到硬盘或者需要传输的时候,可以转换为UTF-8编码。 1.Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码 查看默认编码 >>> import sys >>> sys.getdefaultencoding() 'ascii' Python内建的ord()和chr(

一个讨厌的编码问题(续)

你说的曾经没有我的故事 提交于 2020-01-02 01:30:34
昨天说了编码问题,也找到了正确的打包方法。但有个问题,许多用修改前的代码打的zip包,如何修复? 最直观的方法,是先解压,再重新打包,代码大致是: string folderName = ""; using (ZipFile zip = ZipFile.Read("foo.zip")) { foreach (ZipEntry entry in zip) { if (entry.IsDirectory) { folderName = entry.FileName.Replace("/", ""); } entry.Extract(rootFolder); } } byte[] bytes = Encoding.GetEncoding("gb2312").GetBytes(folderName.ToCharArray()); var newName = Encoding.GetEncoding("IBM437").GetString(bytes); using (ZipFile zip = new ZipFile(Encoding.UTF8)) { zip.CompressionMethod = Ionic.Zip.CompressionMethod.Deflate; zip.AlternateEncoding = Encoding.GetEncoding("IBM437"); var

JAVA 将图片转换为Base64编码

主宰稳场 提交于 2020-01-01 23:46:39
这里使用的jar包是commons-codec-1.10.jar; 示例代码 1 import java.io.FileInputStream; 2 import java.io.FileOutputStream; 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 7 import org.apache.commons.codec.binary.Base64; 8 9 10 /** 11 * 将图片转换为Base64<br> 12 * 将base64编码字符串解码成img图片 13 * @创建时间 2015-06-01 15:50 14 * 15 */ 16 public class Img2Base64Util { 17 18 public static void main(String[] args) { 19 String imgFile = "d:\\3.jpg";//待处理的图片 20 String imgbese=getImgStr(imgFile); 21 System.out.println(imgbese.length()); 22 System.out.println(imgbese); 23 String

图片的Base64编码

三世轮回 提交于 2020-01-01 23:46:12
Base64编码是一种图片处理格式,通过特定的算法将图片编码成一长串字符串,在页面上显示的时候,可以用该字符串来代替图片的url属性。 我们可以来看一下实际的效果 Base64编码效果 在上图中,我们可以看出img的src属性开头是data:image/png;base64,这种开头表示的就是Base64编码后的图片格式,鼠标放在src属性上,可以看出实际的图片。 图片采用Base64编码后的字符串非常长,这里截取一部分来看下效果 Base64编码的部分字符串 真实的全部字符串会比这长的多,可能达到几十KB 当然,Base64编码并不只是用在图片处理上,还可以用在URL转换上,比如说我们常见的迅雷以thunder开头的专用地址,就是通过Base64加密处理过后的URL地址,如下图所示 Base64处理后的URL 为何使用Base64编码 存在及必然,那么我们为什么要使用Base64编码呢? 1.其中很重要的一点就是,使用Base64编码可以减少网络请求。 我们都知道,网页上的图片资源如果采用http形式的url的话都会额外发送一次请求,网页发送的http请求次数越多,会造成页面加载速度越慢。而采用Base64格式的编码,将图片转化为字符串后,图片文件会随着html元素一并加载,这样就可以减少http请求的次数,对于网页优化是一种比较好的手段。 2

学习js的五个不良编码习惯

南楼画角 提交于 2020-01-01 17:25:39
本文根据外网文章译制而来   原文:https://dmitripavlutin.com/unlearn-javascript-bad-coding-habits/   译者:前端小智   为了保证的可读性,本文采用意译而非直译。   在阅读JavaScript代码时,你是否有过这种感觉   你几乎不明白代码的作用?   代码使用了很多 JavaScript 技巧?   命名和编码风格太过随意?   这些都是不良编码习惯的征兆。   在这篇文章中,我描述了JavaScript中常见的5种不良编码习惯。重要的是,本文会给出一些可行的建议,如何的摆脱摆脱这些习惯。   1.不要使用隐式类型转换   JavaScript是一种松散类型的语言。如果使用得当,这是一个好处,因为它给你带来了灵活性。   大多数运算符 +-*/==(不包括 ===)在处理不同类型的操作数时会进行隐式转换。   语句 if(condition){...}, while(condition){...}隐式地将条件转换为布尔值。   下面的示例依赖于类型的隐式转换,这种有时候会让人感到很困惑:   console.log("2" + "1"); // => "21"   console.log("2" - "1"); // => 1   console.log('' == 0); // => true  

JS 的5个不良编码习惯

こ雲淡風輕ζ 提交于 2020-01-01 17:25:22
1.不要使用隐式类型转换 JavaScript是一种松散类型的语言。如果使用得当,这是一个好处,因为它给你带来了灵活性。 大多数运算符 + - * / == (不包括 === )在处理不同类型的操作数时会进行隐式转换。 语句 if ( condition ){...} , while ( condition ){...} 隐式地将条件转换为布尔值。 下面的示例依赖于类型的隐式转换,这种有时候会让人感到很困惑: console . log ( "2" + "1" ); // => "21" console . log ( "2" - "1" ); // => 1 console . log ( '' == 0 ); // => true console . log ( true == []); // -> false console . log ( true == ![]); // -> false 过度依赖隐式类型转换是一个坏习惯。首先,它使你的代码在边缘情况下不太稳定。其次,增加了引入难以重现和修复的bug的机会。 现在咱们实现一个获取对象属性的函数。如果属性不存在,函数返回一个默认值 function getProp ( object , propertyName , defaultValue ) { if (! object [ propertyName ]) {

Python中文问题SyntaxError

心不动则不痛 提交于 2020-01-01 08:43:06
python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 先来看看python的版本: >>> import sys >>> sys.version '2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]' (一) 用记事本创建一个文件ChineseTest.py,默认ANSI: s = "中文" print s 测试一下瞧瞧: E:\Project\Python\Test>python ChineseTest.py File "ChineseTest.py", line 1 SyntaxError: Non-ASCII character '\xd6' in file ChineseTest.py on line 1, but no encoding declared ; see http://www.python.org/peps/pep-0263.html for details 偷偷地把文件编码改成UTF-8: E:\Project\Python\Test>python ChineseTest.py File "ChineseTest.py", line 1

Python 编码转换与中文处理

做~自己de王妃 提交于 2020-01-01 08:42:47
python 中的 unicode是让人很困惑、比较难以理解的问题. 这篇文章 写的比较好,utf-8是 unicode的一种实现方式,unicode、gbk、gb2312是编码字符集. py文件中的编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用" 编码指示 "来修正一个 module 的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明: # -*- coding=utf-8 -*- 或者 #coding=utf-8 其他的编码如:gbk、gb2312也可以;否则会出现: SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details python中的编码与解码 先说一下python中的字符串类型,在python中有两种字符串类型,分别是 str 和 unicode ,他们都是basestring的派生类; str类型是一个包含Characters represent (at least) 8-bit bytes的序列