background image

了,

.Net 的 Unicode 支持非常好,Char 字符本省就是 Unicode 的,并且 System.Text 也为文

本处理提供了诸多支持。虽然

Mono 实现了.Net 的功能,但是我发现,系统对 Unicode 的处

理不够细心,一个细心设计的类库和平台,应该保证在大部分情况下系统的反应能和程序
员预期的一样好,但是

Mono 没有做到,那是以前的事情了,由于 Mono RunTime 在一直

改进,现在应该有大幅进步吧。文本处理一直都是计算机科学的基本问题之一,通常情况下,
处理多国编码的最简的办法是使用

UTF-8,由于历史原因,许多接口并没有使用 UTF-8,

而是使用蹩脚的转换。在

Windows 下,在.Net 出现之前,文本处理一直很让人头疼,赞

.Net 事 常 提 的 一 个 问 题 就 是 :

“ 难 道 你 还 想 执 行 字 符 串 转 换 工 作 ? ” , 看 看 char 

*、wchar_t* 、_bstr_t、CComBSTR、CString、basic_string 和 System.String,往事不堪回首呀,
如果不跨库,不夸方案,那么字符串处理还算轻松,一旦要跨库跨平台跨方案,那么,字
符串处理就是程序员的噩梦。
  结构差距,

Microsoft.Net 是一个旨在建立巨大生态圈的大方案,希望面面俱到。因为

Microsoft 企业平台架构,Microsoft.Net 能够更好的跟 Windows 的业务核心和系统核心无缝
集成。在

Microsoft.Net 上,架构师、设计师和程序员看到的不仅仅是.Net,还包括大量运行

的关系业务前途的企业服务和组建。在

Mono 上,由于需要依赖第三方实现,依赖大量的绑

定来使用系统或其他软件的功能,有时侯透明度不够。没有

MMC、域、MSMQ、WMI、事务支

持、服务架构、数据库服务等重要基础结构的支持,这些在开发早期就应该确定的因素,请
确定

Mono 能够满足你的要求。另一方面,这些在很多时候也是一个优势,有大量的第三方

组建在实现这些功能,包括

Apache 和 Mozilla 和 Postgrsql。