[20110215-16]开发随笔

1.什么是JSON

这个以前只是听说,并没有真正用(以前都是用XML作为数据载体)。

这种数据结构更简洁,说白了就是“键/值”(key-value)对,用“:”来分隔键值,用逗号来分隔各键值对。(可以用HashMap来对照理解)

以下抄些概念:

     JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

 

JSON建构于两种结构:

  • “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

参考网址(这方面的资料太多了):

http://www.json.org/(JSON官网)

http://amiku.cn/what-is-json.shtml

http://ssgemail.javaeye.com/blog/36776

 

2.什么PhoneGap

   这个是第一次接触的东东,目前项目里用到的功能是调用手机摄像头拍照并得到照片。

   官网:http://www.phonegap.com

   Baidu到的资料如下:

       PhoneGap是一个开源的开发框架,用来构建跨平台的使用HTML,CSS和JavaScript的移动应用程序。它使开发者能够利用iPhone,Android,Palm,Symbian和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动。PhoneGap是免费的,但是它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。

      也就是有了这个框架就可以用JavaScript访问摄像头等手机中的软硬设备,It's Cool!

 

3.图片image与Base64

  在网页上插入图片:

 <img src="data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzMwAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4ML  

wWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw=="   alt="Base64 encoded image" width="150" height="150"/>

  src的值不是某一张具体图片的文件位置,而是一个Base64的字符串(注意前导字符是:“data:image/gif;base64,”)。

   这种data: URI的格式能把Base64(或其他数据)可以内嵌在image标签的属性当中(或者CSS中)。

   我们可以使用C#程序来实现Image与Base64字符串相互转换:

(以下代码来自CSDN博客flyjimi的专栏http://blog.csdn.net/flyjimi/archive/2006/08/31/1149855.aspx

    private string GetBase64String(System.Drawing.Image image)
    {
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
 
        image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
        byte[] buffer = ms.ToArray();
 
        return Convert.ToBase64String(buffer);
    }
    private string FixBase64ForImage(string ImageText)
    {
        System.Text.StringBuilder sbText = new System.Text.StringBuilder(ImageText, ImageText.Length);
        sbText.Replace("/r/n", String.Empty);
        sbText.Replace(" ", String.Empty);
        return sbText.ToString();
    }
 
    private Image GetImageFromBase64String(string ImageText)
    {
        if (ImageText.Length > 0)
        {
            Byte[] bitmapData = new Byte[ImageText.Length];
 
            //bitmapData = Convert.FromBase64String(FixBase64ForImage(ImageText));
            bitmapData = Convert.FromBase64String(ImageText);
            System.IO.MemoryStream streamBitmap = new System.IO.MemoryStream(bitmapData);
            //    Bitmap bitImage = new Bitmap((Bitmap)Image.FromStream(streamBitmap));
            return Image.FromStream(streamBitmap);
        }
        else
        {
            return null;
        }
    }


 4.HTML5

    HTML5是HTML下一个的主要修订版本,现在仍处于发展阶段。目标是取代1999年所定订的HTML 4.01和XHTML 1.0 标准,以期能在互联网应用迅速发展的时候,使网络标准达到符合当代的网络需求。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,与Oracle JavaFX的需求,并且提供更多能有效增强网络应用的标准集。

   与HTML 4的不同之处在于:

   http://zh.wikipedia.org/zh-cn/HTML5

  • 新的解析顺序:不再基于SGML
  • 新的元素:section, video, progress, nav, meter, time, aside, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, output, rp, rt, ruby, source, summary, wbr
  • input元素的新属性:日期和时间,email, url
  • 新的通用属性:ping(用於a與area), charset(用於meta), async(用於script)
  • 全域属性:id, tabindex, repeat
  • 移除元素:acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, s, strike, tt, u
教程:  http://www.w3school.com.cn/html5/html_5_intro.asp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值