三种常见字符编码简介:ASCII、Unicode和UTF-8

萝らか妹 提交于 2020-02-29 18:02:30
三种常见字符编码简介:ASCII、Unicode和UTF-8 什么是字符编码? 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是 65535 ,4个字节可以表示的最大整数是 4294967295 。 ASCII编码:   由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为 ASCII 编码,比如大写字母 A 的编码是 65 ,小写字母 z 的编码是 122 。   但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了 GB2312 编码,用来把中文编进去。   全世界有上百种语言,日本把日文编到 Shift_JIS 里,韩国把韩文编到 Euc-kr 里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。 Unicode编码:   因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode标准也在不断发展

argc argv

假如想象 提交于 2020-02-29 18:02:24
参考博客:https://blog.csdn.net/dcrmg/article/details/51987413 1 arg:arguments argc:argument counter argv:argument vector argc 是 argument count的缩写,表示传入main函数的参数个数; argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个; 一、传入参数方法 1、方法1 C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char **argv) int main(int argc, char *argv[]) 这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运行该程序,(首先应该在命令行下用 cd 命令进入到 hello.exe 文件所在目录) 运行命令为: hello.exe Shiqi Yu 1 那么,argc的值是 3,argv[0]是"hello.exe",argv[1]是"Shiqi",argv[2]是"Yu"。

关于 Java Collections 的几个常见问题

谁都会走 提交于 2020-02-29 18:02:07
关于 Java Collections 的几个常见问题 来源: linbingdong , linbingdong.com/2017/01/07/Stack%20Overflow 上关于 Java%20Collections 的几个常见问题 / 列举几个关于 Java Collections 的常见问题并给出答案。 1. 什么时候用 LinkedList ,什么时候用 ArrayList ? ArrayList 是使用数组实现的 list ,本质上就是数组。 ArrayList 中的元素可以通过索引随机获取一个元素。但是如果该数组已满,当添加新元素时需要分配一个新的数组然后将原来数组的元素移动过去,需要 O(n) 的时间复杂度。添加或删除一个元素需要移动数组中的其他元素。这是 ArrayList 最大的缺点。 LinkedList 是一个双向链表。因此,当需要获取 list 中某个元素,需要从头到尾遍历 list 。另一方面,在链表中添加或删除元素很快,只需要 O(1) 的时间复杂度。从空间上来说,在链表中一个节点需要两个额外的指针来指向它的 previous 和 next 节点。 总结: 从 时间复杂度 来说,如果对 list 增加或删除操作较多,优先用 LinkedList ;如果查询操作较多,优先用 ArrayList 。 从 空间复杂度 来说, LinkedList

JavaScript 高级程序设计之最佳实践

拈花ヽ惹草 提交于 2020-02-29 18:01:32
一、可维护性:可理解性、直观性、可适应性、可扩展性、可调试性 代码约定: 可读性 格式化:建议缩进大小为4个空格 注释:函数和方法、大段代码、复杂的算法、hack 变量和函数命名 变量名为名词 函数名为动词开始 变量和函数使用合符逻辑的名字,不要担心长度。 变量类型透明:表示变量类型的三种方式 初始化: var found = false; //布尔型 使用匈牙利标记法来指定变量类型:o代表对象,s代表字符串,i代表整数,f代表浮点数,b代表布尔型 使用类型注释: var found /*:Boolen*/ = false; 松散耦合: 解耦HTML/JavaScript HTML中包含JavaScript,示例:<script type="text/javascript">document.write("hello world!")</script>; // <script>标签紧密耦合 <input type="button" value="Click me " onclick="doSomething();"/> //事件属性值紧密耦合 理想情况:HTML和JavaScript应该完全分离,并通过外部文件和使用DOM附加行为来包含JavaScript。 问题:出现JavaScript错误就要判断是在HTML中还是在JavaScript中,且在doSomething(

Some common primitive system data types

偶尔善良 提交于 2020-02-29 18:01:13
Some common primitive system data types Type Description caddr_t core address clock_t counter of clock ticks (process time) comp_t compressed clock ticks dev_t device numbers (major and minor) fd_set file descriptor sets fpos_t file position gid_t numeric group IDs ino_t i-node numbers mode_t file type, file creation mode nlink_t link counts for directory entries off_t file sizes and offsets (signed) (lseek) pid_t process IDs and process group IDs (signed) ptrdiff_t result of subtracting two pointers (signed) rlim_t resource limits sig_atomic_t data type that can be accessed atomically sigset

OpenCV3的机器学习算法-K-means-使用Python

僤鯓⒐⒋嵵緔 提交于 2020-02-29 18:00:50
Goal In this chapter, we will understand the concepts of K-Means Clustering, how it works etc. Theory We will deal this with an example which is commonly used. T-shirt size problem Consider a company, which is going to release a new model of T-shirt to market. Obviously they will have to manufacture models in different sizes to satisfy people of all sizes. So the company make a data of people's height and weight, and plot them on to a graph, as below: image Company can't create t-shirts with all the sizes. Instead, they divide people to Small, Medium and Large, and manufacture only these 3

定时任务1.基本原理

左心房为你撑大大i 提交于 2020-02-29 18:00:28
##1.php中定时计划任务的实现原理 ###1.连接处理: 在 PHP 内部,系统维护着连接状态,其状态有三种可能的情况: 0 - NORMAL(正常) normal 1 - ABORTED(异常退出) aborted 2 - TIMEOUT(超时) timeout aborted 报错 英 [ə'bɔːtɪd] 美 全球发音 跟读 口语练习 adj. 流产的;夭折的 当 PHP 脚本正常地运行 NORMAL 状态时,连接为有效。 2.当远程客户端中断连接时,ABORTED 状态的标记将会被打开。远程客户端连接的中断通常是由用户点击 STOP 按钮导致的。 3.当连接时间超过 PHP 的时限时,TIMEOUT 状态的标记将被打开。 默认的情况是当远程客户端连接中断时脚本将会退出,但我们可以决定脚本是否需要在客户端中断连接时退出。 有时候让脚本完整地运行会带来很多方便,即使没有远程浏览器接受脚本的输出。 ###2.忽略脚本中断 该处理过程可由 php.ini 的 ignore_user_abort 或由 Apache .conf 设置中对应的" php_value ignore_user_abort 以及 ignore_user_abort() 函数来控制。 脚本触发函数: 如果没有告诉 PHP 忽略用户的中断,脚本将会被中断,除非通过 register_shutdown

定时任务1.代码实现

霸气de小男生 提交于 2020-02-29 18:00:05
#实例代码 为了定时更新某一文件,需要程序自动运行,从网上搜到了两种方法:ignore_user_abort() 和 crontab ##方法1: ignore_user_abort() 原理: ignore_user_abort()函数搭配set_time_limit(0)和sleep($interval)即可实现程序自动运行更新 demo ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去 $interval=60*5; // 每隔5分钟运行 do{ $fp = fopen('test.txt','a'); fwrite($fp,'test'); fclose($fp); sleep($interval); // 等待5分钟 }while(true); 只要运行上面的页面,然后关掉,程序就会一直运行下去。 ##方法2:crontab Linux 下有种更简单的方法,就是crontab命令 : 没涉及 就忽略了 参考: 定时任务 指定时间段发短信 来源: oschina 链接: https://my.oschina.net/u/2889389/blog/806830

php环境无法上传文件的解决方法

半城伤御伤魂 提交于 2020-02-29 17:59:43
一、 检查网站目录的权限。 上传目录是否有写入权限。 二、 php.ini配置文件 php.ini中影响上传的有以下几处: file_uploads 是否开启 on 必须开启 是否允许HTTP文件上传 post_max_size = 8M PHP接受的POST数据最大长度。此设定也影响到文件上传。 要上传大文件,该值必须大于"upload_max_filesize" 如果配置脚本中激活了内存限制,"memory_limit"也会影响文件上传。 一般说来,"memory_limit"应该比"post_max_size"要大。 upload_max_filesize = 2M 允许上传的文件的最大尺寸 upload_tmp_dir = C:\windows\temp 文件上传时存放文件的临时目录。必须是PHP进程用户可写的目录。如果未指定则PHP使用系统默认值 default_socket_timeout = 60 socket超时,单位是秒 max_execution_time = 30 每个脚本最大允许执行时间, 按秒计。默认为30秒。 这个参数有助于阻止劣质脚本无休止的占用服务器资源。 注: "max_execution_time"仅影响脚本本身的运行时间。 任何其它花费在脚本运行之外的时间,如用system()/sleep()函数的使用、数据库查询、文件上传等都不包括在内。

01.MyBatis入门

穿精又带淫゛_ 提交于 2020-02-29 17:59:37
MyBatis入门: 第一天接触Mybatis,总结一下入门案例的流程: 首先导入Mybatis的jar包和数据库的驱动包 1.创建数据表和实体类 2.创建一个表和实体类映射的xml配置文件,具体配置如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 5 <!-- namespace是映射文件的一个唯一标识,用来定位是哪个映射文件 --> 6 <mapper namespace="com.offcn.entity.personMapper"> 7 <!-- id是一条sql语句的唯一标识,parameterType是sql语句中的参数类型 ,resultType是sql语句将要返回的结果的类型 --> 8 <!-- 如果输入的类型是基本数据类型(八种基本数据类型 + string)则#{xxx}可以随意写,但是为了规范最好不要,如果不是基本数据类型则必须写实体类中的字段名 --> 9 <select id="selectPersonById" parameterType="int" resultType="com

工具导航Map