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 ...
随机推荐
- 【转】动态规划DP
[数据结构与算法] DP 动态规划 介绍 原创 2017年02月13日 00:42:51 最近在看算法导论. DP全称是dynamic programming,这里programming不是编程,是一 ...
- Unity中使用射线查询MeshCollider背面的方法
之前遇到一个问题要从MeshCollider背面方向发出射线,直至检测到该射线与MeshCollider的相交点为止. 后来我用双面MeshCollider的方法解决了http://www.cnblo ...
- Android仅2步实现 滚粗 汉堡导航栏效果~ 全新底部导航交互(滑动隐藏)
本文同步自wing的地方酒馆 布吉岛大家有木有看这一篇文章,再见,汉堡菜单,我们有了新的 Android 交互设计方案 本库下载地址:https://github.com/githubwing/Bye ...
- ASP.NET实现在线浏览Word文档另一种解决方案(Word转PDF)
ASP.NET实现在线浏览Word文档另一种解决方案(Word转PDF) 上述博文里提到的在线浏览pdf的方案不错,但word转pdf的那个dll只支持doc不支持docx,附上最新的下载链 ...
- [OpenCV] 编译源程序 2.4.10 以支持 CUDA
对源代码进行如下修改: H:\Software\opencv\sources\modules\gpu\src\nvidia\core\NCV.cu中添加 #include <algorithm& ...
- shell编程--基本格式,基本语法,运算符,expr,(()),$[]
02/shell编程 Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell Shell也是一门编程语言."."号执行脚本时,会让脚本在调用者 ...
- 实现Android5.0过渡动画兼容库
Android5.0之后为我们提供了许多炫酷的界面过渡效果,其中共享元素过渡也是很有亮点的一个效果,但这个效果只能在Android5.0之后使用,那今天我们就来将共享元素过渡效果兼容到Android4 ...
- 代理IP爬取,计算,发放自动化系统
IoC Python端 MySQL端 PHP端 怎么使用 这学期有一门课叫<物联网与云计算>,于是我就做了一个大作业,实现的是对代理IP的爬取,计算推荐,发放给用户等任务的的自动化系统.由 ...
- Android N(7.0) 被美翻的新特性!
Tamic 专注移动开发!更多文章请关注 Csdn: http://blog.csdn.net/sk719887916/article/details/52612444 $ http://www.ji ...
- Ubuntu和ROS一起愉快玩耍
Ubuntu和ROS重要的两个中文网址: Ubuntu:http://cn.ubuntu.com/ROS:http://wiki.ros.org/cn Robots and drones on Ubu ...