编码

最全Android开发常用工具类

試著忘記壹切 提交于 2020-11-15 20:43:02
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。 目前包括 HttpUtils、DownloadManagerPro、Safe.ijiami、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。 1、HttpUtils Http网络工具类,主要包括httpGet、httpPost以及http参数相关方法,以httpGet为例: static HttpResponse httpGet(HttpRequest request) static HttpResponse httpGet(java.lang.String httpUrl) static String httpGetString(String httpUrl) 包含以上三个方法,默认使用gzip压缩,使用bufferedReader提高读取速度。 HttpRequest中可以设置url、timeout、userAgent等其他http参数

python3 unicod,utf-8,gbk的编码和解码中文显示问题

微笑、不失礼 提交于 2020-03-25 21:29:05
python3的字符编码让人头疼。 这个也不是一篇介绍gbk, utf-8, unicode怎么表示英文,中文字符的基础知识总结。 网上有很多类似的文章,目前也不需要升入学习到了解各个bit位表示什么含义。 目的: 清楚了解为什么在python3不同的编码,解码,windows,linux操作系统下,字符是否能够正确显示。 前提: 了解不同编码用不同的二级制编码和长度来表示字符。 在python3中,各种字符编码之间的互相转换都要通过unicode作为中间编码转换。gbk转换成unicode,再从unicode转换成utf-8。 分析: 要区分4种编码解码概念, 1.编写代码文件时的编码。 notepad++ 在菜单“编码”中有选择,在状态栏可以看到编码类型。 pycharm 在菜单"file","editor","file encoding"中可以设置默认编码。在状态栏可以看到编码类型。 2.python3代码中申明的解码格式。 在代码中#coding=gbk。 编码声明告诉了python编译器以什么格式的编码来解码.py文件,它不会改变系统默认编码和本地默认编码, 也不是用于声明当前代码文件的编码格式的,而是声明当前代码文件的解码方式。换句话说, 代码文件的编码格式取决于你使用的编辑器,而如何解码该文件取决于文件头处的编码声明。 一般地,编码格式应当与解码格式一致

Unicode utf8等编码类型的原理

穿精又带淫゛_ 提交于 2020-03-25 11:48:07
3 月,跳不动了?>>> 1、ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。 2、非ASCII编码 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号,它就无法用ASCII码表示。于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如,法语中的é的编码为130(二进制10000010)。这样一来,这些欧洲国家使用的编码体系,可以表示最多256个符号。 但是,这里又出现了新的问题。不同的国家有不同的字母,因此,哪怕它们都使用256个符号的编码方式,代表的字母却不一样

linux ftp客户端的编码问题

狂风中的少年 提交于 2020-03-10 10:27:52
准备下载ftp上的文件,记得curl可以实现下载ftp的文件,然后尝试了, curl ftp://username:password@192.168.1.2/平台全量包/package0811.zip -o package0811.zip 结果是卡住不动了!卡住不动了!卡住不动了!没有出现预想的下载进度条。 怀疑自己的命令写错了,然后使用ftp客户端 #ftp >open 192.168.1.2 >username >password >ls 输入完上面的命令之后发现中文乱码啊 百度搜索了个中ftp客户端乱码的问题,大部分都是windows的问题(感觉google靠谱,虽然麻烦)。 然后自己开始探索,第一步在ssh终端上修改当前会话的编码,修改为gbk,然后使用ftp登录,发现使用ls命令之后能显示中文路径,但是【cd 平台全量包】之后,就会卡住不动了。不得不管理终端页面。心想既然是编码的问题,那就从编码下手吧,远程的FTP server的编码是gbk的,而且我这边也修改不了。linux 的FTP命令行客户端也不能修改编码。然后突然想使用window的命令行试试,结果正常,能够cd目录。看样子跟命令行环境也有关系,修改shell环境变量 #export LANG="zh_CN.GBK" 再次尝试,OK,可以正常的浏览中文目录。 后来也尝试过其他的方法,最简单的就是修改终端的编码

Python的编码注释# -*- coding:utf-8 -*-

ε祈祈猫儿з 提交于 2020-03-02 19:19:46
如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。 # -*- coding:utf-8 -*- 问题就来了,为什么要如此声明? 首先请参考python的 PEP 概要如下 必须将编码注释放在第一行或者第二行 可选格式有 # coding=<encoding name> # - - coding: <encoding name> - - # vim: set fileencoding=<encoding name> : 但是再往下看,发现其实只要注释里面有coding 和对应的编码就可以了,例如 # vim: set fileencoding=<encoding name> : 所以搞了半天对最标准的做法也有点糊涂了。 后来想了想,看了下VIM中对python的语法高亮文件,里面把如下的正则表达式确定为编码声明 \%^.*\(\n.*\)\?#.*coding[:=]\s*[0-9A-Za-z-_.]\+.*$ 对于这个正则有些有点看不懂,但是大致如下必须有coding:[编码]或者coding=[编码]才行,这个应该可以视作为标准的声明方式吧。 但是为什么通常这种方式呢? # -*- coding:utf-8 -*- 答案在PEP-0263里面有所提及,那就是Emacs等编辑器使用这种方式进行编码声明。

如何设置[My]Eclipse工作空间的缺省字符编码?新建页面总是ISO-8859-1怎么解决

谁说我不能喝 提交于 2020-03-02 11:44:33
如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。然而,Eclipse工作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GB18030,在此工作空间中建立的工程编码是GB18030,工程中建立的java文件也是GB18030。如果要使新建立工程、java文件直接使UTF-8则需要做以下工作:   1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。   2、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件如:properties、XML等已经由Eclipse缺省指定

读书《编码的奥秘》--摩尔斯电码(1836年发明)

风格不统一 提交于 2020-03-02 09:41:30
第1章电筒密谈 摩尔斯电码 第2章编码与组合 摩尔斯电码由萨缪尔·摩尔斯(1791—1872)发明,摩尔斯电码是随着电报机的发明而产生的,电报机也提供了理解计算机硬件的良好途径。 摩尔斯电码被称为二元码(binarycode),因为编码中仅含“滴”和“嗒”。这与一个硬币很相似,硬币着地时只可能是正面或反面。二元事物(例如硬币)、二元编码(例如摩尔斯电码)常常用2的乘方来描述。 第3章布莱叶盲文与二元编码 路易斯·布莱叶1809年出生于法国的Coupvray,他的家乡在巴黎以东25英里,父亲以打造马具为生。3岁时,在这个本不该在父亲作坊里玩耍的年龄,小布莱叶意外地被尖头的工具戳中了眼睛。由于伤口发炎,感染了另一只眼,他从此双目失明。布莱叶原本注定在贫困潦倒中度过一生(正如那时大多数盲人一样),但他的聪明才智和求知欲不久即显露了出来。在本地牧师和一位学校老师的帮助下,布莱叶和其他孩子一道上了学,10岁那年又前往巴黎的皇家盲人青年学院学习。 布莱叶编码中,普通书写语言的每个字符—具体而言如数字、字母和标点符号—都被编码成局限在2×3小格中一个或多个凸起的点。这些小格一般被标记为1~6: 第4章手电筒剖析 第5章绕过拐弯的通信 第6章发报机与继电器 电磁铁是电报的基础。一端上开关的闭合引起另一端上的电磁铁产生一些动作。 继电器是一种卓越的设备。它是一个开关

一个很有意思的问题: 揭示了计算机程序问题的一般处理思路

半城伤御伤魂 提交于 2020-03-02 08:32:25
一个很有意思的问题: 揭示了计算机程序问题的一般处理思路 === 问题标题: 如何统计汉字的字数? 问题内容: 我想统计: "什么样的问题在 oschina 算是一个好问题?" 这个句子里面以oschina为分割总共有三部分: 什么样的问题在+ oschina +算是一个好问题? 现在想知道oschina前面有几个汉字?oschina有几个英文?oschina后面有几个汉字?不要直接去查找oschina字符串去计算啊,可以当作oschina是某个未知的英文单词,如何统计出来呢? ps.楼下的说我的表达能力有问题,看来我确实没有表达清楚:)再补充一下问题。 问题来源: http://www.oschina.net/question/583303_122530 === 这个问题的关键是如何让计算机区分汉字和英文, 具体分析就要涉及到中文和英文在计算机内部的表示方式, 那么一切以数字为准, 先把这段数据转换为数字格式, 如下代码: (defparameter *字符串* "什么样的问题在 oschina 算是一个好问题?") (defun 字符串-数字(字符串) (dotimes (序数 (length 字符串)) (print (char-code (elt 字符串 序数))))) 执行一下, 结果如下: CL-USER> (字符串-数字 *字符串*) 20160 20040

Java编码规范,在您进行编码之前应该阅读的规范

大城市里の小女人 提交于 2020-03-02 04:36:59
本文转载于:http://www.web3d.com.cn/new/teach/java3d/2006/11/13/363276161.html Java编码规范 说明 1.1 为什么要有编码规范 编码规范对于程序员而言尤为重要,有以下几个原因: 一个软件的生命周期中,80%的花费在于维护。 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品。 为了执行规范,每个软件开发人员必须一致遵守编码规范。每个人!!! 1.2版权声明 本文档反映的是Sun MicroSystems公司,Java语言规范中的编码标准部分。主要贡献者包括:Peter King,Patrick Naughton,Mike DeMoney,Jonni Kanerva,Kathy Walrath以及Scott Hommel。本文档现由Scott Hommel维护,有关评论意见请发至shommel@eng.sun.com 2. 文件名(File Names) 这部分列出了常用的文件名及其后缀。 2.1 文件后缀(File Suffixes) Java程序使用下列文件后缀: 文件类别 文件后缀 Java源文件 .java Java字节码文件

Mac OS下android真机调试过程

时光怂恿深爱的人放手 提交于 2020-02-29 19:52:00
昨天费了一天时间来熟悉苹果电脑,因为最近工作重心转移到Mac电脑上,所以要让eclipse中的工程能够和家里的eclipse同步。 为了能够兼顾到开发iPhone软件,将苹果系统升级到最新的10.8.5,并在appstore中将xcode更新到最新的5.0,这样iPhone开发环境就OK了。 接着开始捣鼓android开发环境,坑爹的appstore里面没有eclipse,只能去官网下载。为了省事,我直接去谷歌官网下载了ADT使用,并将jdk更新到了1.7,接下去,登陆云服务器,搭建了SVN,用家里的笔记本将工程全部都同步到SVN里面。 最后在eclipse中安装SVN插件,并将服务器上的工程同步到苹果电脑,一切进行的都很顺利。 当第一次打开同步的工程时,乱码了,好吧,我承认我比较落伍,都是用GBK编码的,最新的开发工具默认都是UTF-8,没有GBK选项。之后随便找了个同事问你用什么编码?回答让我瞬间心情跌入谷底,面对这这么多的工程都是GBK的,我就妥协了,反正都能用,只要中英文能显示就好 。可是eclipse中没有GBK编码,找了半天没找到,最后奇葩的发现原来编码的那个下拉框是可以手输的,输入GBK,保存退出。 运行工程,发现苹果电脑不能识别我的小米2S手机,在终端下输入adb没反应,看来是环境变量没配置好,网上参考了http://blog.sina.com.cn/s/blog