XML跨平台,你懂的
XML跨平台,你懂的
【引子】
90后小妹,问我,“都说XML跨平台,偶真的,不理解。XML语言的这大优势,倒是深深记在脑海里了。”
当然,偶立马应声答到,“后小妹,XML跨平台,逻辑推理,是严谨可信的。
1. 到底有哪些平台?
跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不依赖硬件环境。
操作系统有哪些,如:Window、Unix、Linux、Mac等。
2. 跨平台包括哪些方面?
1. 字符;
2. 文件;
3. 通信协议;
4. 程序;
Java语言编写的程序,应该属于:程序层面的跨平台。
XML应该属于文件、通信协议方面的,跨平台。
3. 理解字符跨平台,是理解XML跨平台的第一步;
字符编码标准有ASCII、GB2312、GBK、Big5、Unicode、UTF8等。
具体说明:
“汉”字的UTF8编码是E6B189。也就是说,只要告诉计算机系统,这个字是UTF8编码,
如果该字符编码是E6B189,那么我就解析为“汉”字的“汉”。
反之,如果告诉计算机该字是“汉”字的“汉”,则将该字符编码为E6B189,进行存储。
也就是说,只要计算机系统,只要遵循字符编码规范,是容易理解和实现,字符层面的跨平台。
所以说,字符编码标准,这是计算机发展,最基础层面的标准。
在不同的操作系统,不同的硬件平台,只要基于相同的编码标准,字符是可以跨平台。
4. XML是属于文件、通信协议方面的跨平台。
一、文件层面的跨平台:
首先,先看看XML长得啥模样?
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
接着,把握文件层面实现跨平台的逻辑推理要点:
- 文件、文档的跨平台,必然通过字符、文字的来实现;
- 在当今多语言的计算机环境下,必然涉及到编码转化的问题,例子中xml文档中的encoding属性,就解决了编码识别与转化的问题;
- 文本,偶的理解,就是文字、字符的意思。
文本就是相对图像、音频、视频等而言。
文本可以包括文字信息,以及文字表现信息,也就是文字装饰信息,如:字体、字号、下划线、斜体、图形、符号或特殊字符及特殊打印格式等。
纯文本,就是没有任何文字表现信息,没有任何文字装饰信息,没有任何字体、字号、下划线、斜体、图形、符号或特殊字符及特殊打印格式等信息。
说白了,就是一个光文字信息,俗称“裸字”信息,也就是纯字符。
【结论】
既然是“裸字”信息,纯字符,再加上当前的字符,使用的何种编码标准,当然可以
跨平台。
二、通信协议层面的跨平台:
XML通信协议,基于HTTP协议上的扩展。
因为HTTP协议,是跨平台的,所以,基于XML通信协议,是跨平台的。
如基于XML的SOAP、WSDL和UDDI通信协议,也就是常说Web Service服务,可以轻松实现跨平台服务。
XML跨平台,你懂的的更多相关文章
- Unity本地数据存储---Sqlite和JSON
2014-05-04更新 SqliteDatabase.cs这个文件的初始方法有问题,具体是如果指定URL已经存在了DB文件,就不会重新覆盖DB文件. 这导致我们修改之后的DB文件无法产生效果. 本人 ...
- kbmmw 中XML 操作入门(跨平台,而且可以与JSON,YAML,BSON 直接互相转换)
delphi 很早以前就自带了xml 的操作,最新版里面有三种XML 解释器,一种是MSXML,看名字就知道 这个是微软自带的,这个据delphi 官方称是速度是最快的,但是只能在windows 上使 ...
- DotNetCore跨平台~xUnit生成xml报告
在CI/CD流行至极的今天,你的项目没有自动化测试绝对是不可以接受的,在进行自动化部署和持续集成时,我们的dotnet core项目也是可以实现自动化的,之前说过gitlab,jenkins对持续集成 ...
- 跨平台图表控件TeeChart使用教程:导入XML数据
TeeChart的最新版中包含了一个自动加载XML数据的新组件.这个组件的名字叫做TTeeXMLSource,用户可以在TeeXML.pas unit中找到这个组件. 加载XML图表所需的最小属性是& ...
- 跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式
在开发者使用TeeChart进行开发的过程中,不管是在设计时或者运行时都可以使用的图表导出对话框将图表数据轻易地导出为XML格式: TeeChart最新版那下载地址 上图为TeeChart导出对话框的 ...
- TinyWeb v1.0 正式完成第一个Release版本(功能基于 libuv 跨平台库)
使用方法很简单,很容易融入现有项目,使现有项目拥有Web网站功能和WebSocket,以及Socket直连! 并且包含了一个跨平台(windows/linux)工具集合; 嗯,也挺棒的^,^ 在项目中 ...
- 开源一个跨平台运行的服务插件 - TaskCore.MainForm
本次将要很大家分享的是一个跨平台运行的服务插件 - TaskCore.MainForm,此框架是使用.netcore来写的,现在netcore已经支持很多系统平台运行了,所以将以前的Task.Main ...
- C#跨平台手机应用开发工具Xamarin尝试 与Eclipse简单对比
Xamarin 支持使用C#开发基于Android.IOS.WindowsPhone应用开发,最大特点C#+跨平台,详细说明问度娘. 安装 研究 想体验研究的点击查看页面 Xamarin For Vi ...
- Topshelf 学习 跨平台
Topshelf是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主. 官网:http://topshelf-project.com Git ...
随机推荐
- 利用Express模拟web安全之---xss的攻与防
一.什么是XSS? 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意 ...
- 阿里云部署Node.js项目(CentOS)
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...
- 566. Reshape the Matrix
In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...
- Why Helm? - 每天5分钟玩转 Docker 容器技术(160)
本章我们将学习 Helm,Kubernetes 的包管理器. 每个成功的软件平台都有一个优秀的打包系统,比如 Debian.Ubuntu 的 apt,Redhat.Centos 的 yum.而 Hel ...
- sql 复习练习
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- ...
- Bootstrap3 表单-水平排列的表单
通过为表单添加 .form-horizontal 类,并联合使用 Bootstrap 预置的栅格类,可以将 label 标签和控件组水平并排布局.这样做将改变 .form-group 的行为,使其表现 ...
- Android自定义底部带有动画的Dialog
Android自定义底部带有动画的Dialog 效果图 先看效果图,是不是你想要的呢 自定义Dialog package --.view; import android.app.Dialog; imp ...
- [CSDN_Markdown] 使用CSDN Markdown编辑器
简介 最近CSDN支持Markdown语法写博客了,甚是欢喜.前几天写了一篇实验了下,感觉不错.准备写几篇文章介绍一下如何使用CSDN的Markdown编辑器写博客,不求全面,但求够用,望大家批评指正 ...
- JAVA面向对象-----接口与类、接口之间的关系
接口与类.接口之间的关系 大家之前都知道类与类之间的关系继承,那么接口与类之间又是怎样子的关系呢? 接口与类之间是实现关系.非抽象类实现接口时,必须把接口里面的所有方法实现.类实现接口用关键字impl ...
- JAVA面向对象-----值交换(基本数据类型 数组类型 对象的值 字符串的)
JAVA面向对象-–值交换 基本数据类型交换 数组类型交换 对象的值交换 字符串的值交换 恩,没错,又是贴图,请大家见谅,我也是为了多写几个文章,请大家谅解. 字符串的值交换: 交换值失败. 这个文章 ...