新大编程幼儿园学习第一课——内容和显示

课程全名:编程幼儿园-快速攻破编程学习障碍,自10月11日开始,每周三开课,共6次课程,至11月15日结束。因之前报名参加了新生大学的JavaScript编程入门课,获得了免费听课资格。现在JavaScript的课程已结束(未能跟上课程节奏,还在补课进度中),穿插学习这门课程,查缺补漏,巩固学习基础知识。

本课主题:内容和显示

授课老师:杨兵兵

一、字符编解码的基本知识(本课最重要)

计算机信息的底层传输最终被映射成由0、1组成的二进制流。

文字的编解码定义

1.编码:如何将文字图片等信息以一定的运算转换成二进制流的形式

2.解码:将二进制流通过一定运算转变成能够识别的文字图片等信息的过程

一个编码、解码的过程,以发送电报举例:

发件人汉字写下内容-->发报员参照编码表找出汉字对应的数字(4个数字对应一个汉字)-->接报员参照编码表找出数字对应的汉字-->收件人。

常用编码字符集

ASCII码(英文所包含的字符)、扩展的ASCII码(ASCII基础上扩展的欧洲的一些文字)、Unicode符号集(完整的字符集,可以说是一个包含所有文字的标准)、UTF-8(Unicode一种实现方式)、GB2312/GBK/GB18030(汉字,国标)

编解码能够帮助我们认识的问题

乱码:由于发送方与接收方的编码表不同时,编码解码后的显示会形成乱码。

工作生活中常见的乱码问题的解决办法:

1. 检查文件打开软件的编码与文件保存软件的编码是否一致,即是否支持文件格式,如果支持,仅需要调整一下编码方式即可。如Mac电脑的中文默认编码方式是UTF-8,而Windows电脑的中文默认编码方式是GB2312。

2. 如果通过不支持格式的软件打开,一定会是乱码,并且无法通过调整编码方式来消除。

举例:

(1)Mac和Windows的邮件系统互发邮件时经常会出现乱码现象,即编码方式问题。

(2)浏览器打开网页时若发现乱码,可尝试:右键点击网页空白处-->“检查元素”-->查看编码方式(类似形式:< script id="init-script" type="text/javascript" charset="utf-8" >)-->可知编码方式为UTF-8-->点击浏览器“显示”--“文本编码”-->点选“Unicode(UTF-8)”后即可正常显示。

注:1.课上举例过程使用safari浏览器演示,提到Chrome浏览器以前有此功能,现无此功能;2.如发现safari中未发现“检查元素”选项,可点击safari的“偏好设置”-->点选“高级”页面框-->勾选底部“在菜单栏中显示“开发”菜单”,返回查看即可发现“检查元素”。(25m)


二、文本和样式

Word中的样式

不同的样式,也是不同的编码方式,Word采用自行规定的协议,对二进制流进行重新编码,因为并不开源,其他无法执行Word内部协议的软件打开即为乱码。

样式的作用

丰富的样式可方便的提供更加清晰、美观的阅读体验。除了Word使用了样式,浏览器的网页、PDF、其他电子书等都有不同的样式。

文件扩展名

标识文件类型、什么软件可以打开此文件。

注意一个坑——隐藏扩展名,修改文件类型即后缀时,可能未能真正修改,注意查看文件根目录中,去掉“隐藏扩展名”选项。可避免一些异常问题。(35m)

三、不可见字符

什么是不可见字符:空格、回车换行、制表符等等肉眼看不见的占位字符。

不可见字符的作用:实现功能控制或配合样式等实现相应编辑功能。

如何处理不可见字符:查找、替换、删除、格式刷(批量处理)等。(45m)


新大CTO徐高阳助阵串场

关于不可见字符

分享一个段子:早年间因同事误按大量空格引发的代码问题排查事件——不能忽视不可见字符在编程以及其他操作中的作用。(同时也提到,早年间的编译器无法自动识别消除大量空格,现在的编译器通常具备此类功能。)

关于文件名、文件后缀、富文本

养成编写代码时,首先要保存为合适的文件名及后缀。

富文本格式(Rich Text Format, 一般简称为RTF),不仅存储了文件的内容,并且把内容的信息存储在格式里,比编码信息高级了一层,还带了格式的信息。Markdown不算是富文本,是HTML+CSS的标记语言,可通过富文本方式进行编辑。

关于新生大学课程学习的探索分享

目标不仅仅是一个课程,上完就结束,而是希望真正能帮助学员达到真正程序员的素质,尽可能多的帮助大家提高。后期或许会采取导师方式,带动大家一起进步,同时也需要大家时间精力上的付出,掉队是会比较遗憾。

不用UTF-8,就是耍流氓

因为现在的代码是会上传网络,与大家分享、交流的,当你不用UTF-8时,别人打开时是乱码,这就很不合适。

有没有一种编码格式可以兼容任何一种字符编码?

理论上肯定是有,8位的UTF-8可能不够用,进行了拓展至16位的UTF-16,再不够可以32位的UTF-32。类似网络设备需求的暴增,现有IP地址存在不够用的问题,因此逐步由IPV4升级为IPV6。但在目前的计算机领域,UTF-8基本够用,所以现在最广泛使用的是UTF-8。

学习是个人的事

微信群的沉淀能力偏弱,利用国庆期间搭建的网站小白学编程(http://code.7xinsheng.com/),希望大家更多的交流学习~!

你可能感兴趣的:(新大编程幼儿园学习第一课——内容和显示)