{"resolved":true,"match_type":"uuid","source_type":"original_book","book_id":"38270854-596f-4a26-8183-db8c968c6020","title":"编码 隐匿在计算机软硬件背后的语言","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787121181184","requested_by":"printed_page","book":{"source_type":"original_book","book_id":"38270854-596f-4a26-8183-db8c968c6020","id":"38270854-596f-4a26-8183-db8c968c6020","uuid":"38270854-596f-4a26-8183-db8c968c6020","title":"编码 隐匿在计算机软硬件背后的语言","normalized_title":"编码隐匿在计算机软硬件背后的语言","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787121181184","isbns":["9787121181184","0123456789","6044921875","3039331000","0000000000","0000000000000"],"parsed":true,"ai_readable":true,"document_type":"book","page_count":438,"navigation_url":"https://workshop.closeclaw.top/ai/book/38270854-596f-4a26-8183-db8c968c6020","title_url":"https://workshop.closeclaw.top/ai/title/%E7%BC%96%E7%A0%81%20%E9%9A%90%E5%8C%BF%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BD%AF%E7%A1%AC%E4%BB%B6%E8%83%8C%E5%90%8E%E7%9A%84%E8%AF%AD%E8%A8%80","fixed_page_url_template":"https://workshop.closeclaw.top/ai/book/38270854-596f-4a26-8183-db8c968c6020/page/{printed_page}","path_api_url_template":"https://workshop.closeclaw.top/api/ai/book/38270854-596f-4a26-8183-db8c968c6020/page/{printed_page}","read_url":"https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020","page_url":"https://workshop.closeclaw.top/api/ai/books/38270854-596f-4a26-8183-db8c968c6020/page","search_url":"https://workshop.closeclaw.top/api/ai/books/38270854-596f-4a26-8183-db8c968c6020/search"},"page":{"printed_page":419,"pdf_page":435,"physical_index":435,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"048dd40c1f49aff20e55c0a92796fb22b52307e2f8d2700abc1a73b80a19df44"},"chapter":"编码隐匿在计算机软硬件背后的语言","content":"HTML与本章前面讨论过的富文本格式（RTF）很相似，它们都含有带有格式信息的ASCII码文本。HTML也可包含多种图片格式，例如：GIF 文件、PNG（portable networkgraphics，便携式网络图像格式）文件，以及JFIF（JPEG文件交换格式）等。大部分万维网浏览器都支持浏览HTML文件，这是文本格式的优势所在。易检索性也是HTML被定义成文本文件的另一个优点。虽然名字可能有些让人迷惑，但HTML与我们在第19章和第24 章讲到的语言不同，它并不是真正的程序设计语言。Web 浏览器首先读取 HTML文件，根据读取到的内容显示文本和图形并编排它们的格式。\n\n当我们浏览某些Web页面并进行一些操作时，有一些特殊程序需要并发执行，程序中的代码可以运行在服务器端（Server，用来存储原始Web页面的计算机）或客户端(Client)，我们自己的计算机就是客户端。服务器端责任重大，通常要完成一些重要的处理工作（例如解释客户端填写的在线表格），服务器端的工作可以通过公共网关接口(Common GatewayInterface，CGI）脚本来处理。而对于客户端，HTML文件可以包含简单的程序设计语言，例如著名的 JavaScript。Web 浏览器可以对 Java Script 语句进行解释，就像解释HTML文本一样。\n\n为什么Web站点不为我们的计算机提供一个可执行程序，如果这样的话问题一下子就解决了。要回答这个问题，我们首先要明确：我们的计算机是什么样的？如果使用的是Macintosh 机，那么这个可执行程序需要包含 Power PC 机器码，而且需要引用 Mac OS中的API函数；如果是一台PC兼容机，那么这个可执行程序需要包含Intel Pentium机器码，而且需要使用WindowsAPI函数。但计算机及图形操作系统的种类繁杂，还有许多其他类型的计算机和图形操作系统。进一步来说，我们也不想毫无目的地下载可执行文件，它们很可能来自于非信任站点而且会带有恶意行为。\n\n上述问题的答案就在 Sun 公司开发的 Java 语言中（请勿与 JavaScript混淆)。Java 是一款成熟的面向对象程序设计语言，和C++有些类似。前面章节中我们讨论过编译语言（compiledlanguages，可产生包含机器码的可执行文件的语言）和解释语言（不可产生可执行文件的语言）之间的区别，Java是一种介于两者之间的语言。它需要经过编译，但编译的结果不是机器码，而是 Java 字节码(Java byte codes)。Java字节码与机器码在结构上很相似，但Java字节码可以在一种虚拟的计算机下被解释，即Java虚拟机(JavaVirtualMachine，JVM）上。被编译的 Java程序产生Java字节码，之后计算机模拟 JVM对其进行解释。Java程序的运行可以不受限于机器与图形操作系统的类型，所以它具有平台无关性（platform- independent)。\n\n25 图形化革命\n\n419","previous_page":418,"next_page":420}