toxic

备忘录

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年7月25日

摘要: /** * $str 原始中文字符串 * $encoding 原始字符串的编码,默认GBK * $prefix 编码后的前缀,默认"&#" * $postfix 编码后的后缀,默认";" */function unicode_encode($str, $encoding = 'GBK', $prefix = '&#', $postfix = ';') { $str = iconv($encoding, 'UCS-2', $str); $arrstr = str_split($ 阅读全文
posted @ 2013-07-25 18:02 toxic 阅读(43906) 评论(0) 推荐(2)

摘要: xmppframework是XMPP协议的一个objective-c实现.要了解xmppframework, 从这里开始吧:https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFrameworkXMPPFramework中包含了一个简单的iPhone客户端实现。在iPhoneXMPP中。在测试这个Demo过程中要注意的地方是:如上图要设置HostName(如果服务器域名是对外可见的应该不用)。我测试时,因为我是自己建的openfire服务器,设置的服务器名称是没有登记的。所以需要告诉系统怎么找到这个服务器 -- 在hosts文件中 阅读全文
posted @ 2013-07-25 16:27 toxic 阅读(229) 评论(0) 推荐(0)

摘要: 最近在研究iOS的推送问题,遇到了一些问题,最终整理了一下,放在这里和大家分享。APNS的推送机制首先我们看一下苹果官方给出的对iOS推送机制的解释。如下图Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器。上图可以分为三个阶段:第一阶段:应用程序的服务器端把要发送的消息、目的iPhone的标识打包,发给APNS。第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按 阅读全文
posted @ 2013-07-25 16:07 toxic 阅读(1021) 评论(1) 推荐(0)

摘要: JavaScript绝句的小研究前几日在网上看到一篇文章:JavaScript绝句,看了以后觉得里面的代码颇为有趣,不过文章里面只是简单的说了这样写的目的和结果,却没有令读者起到既知其然,又知其所以然的效果。这里简单写一篇小文章剖析一下这篇“绝句”背后的原理吧。1. 取整同时转成数值型'10.567890'|0//结果: 10'10.567890'^0//结果: 10-2.23456789|0//结果: -2~~-2.23456789//结果: -2第一条绝句短短几句话,看起来十分的简洁,实际上背后的道理确是多了去了。这个东西分三大块:首先字符型转成数值型本身没 阅读全文
posted @ 2013-07-25 15:28 toxic 阅读(268) 评论(0) 推荐(0)

摘要: 位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符含义描述&按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0|按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^按位异或若参加运算的两个二进制位值相同则为0,否则为1~取反~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0>右移将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补01、“按位与 阅读全文
posted @ 2013-07-25 13:43 toxic 阅读(194) 评论(0) 推荐(0)

摘要: 生活中其实很多地方的计数方法都多少有点不同进制的影子。比如我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。至于二进制……没有袜子称为0只袜子,有一只袜子称为1只袜子,但若有两袜子,则我们常说的是:1双袜子。生活中还有:七进制,比如星期。十六进制,比如小时或“一打”,六十进制,比如分钟或角度……为什么需要八进制和十六进制?编程中,我们常用的还是10进制……必竟C/C++是高级语言。比如:int a = 100,b = 99;不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题 阅读全文
posted @ 2013-07-25 13:36 toxic 阅读(1670) 评论(0) 推荐(0)

摘要: 一,CFNetwork 简介首先来回顾下。在前文《[深入浅出Cocoa]iOS网络编程之Socket》中,提到iOS网络编程层次模型分为三层:Cocoa层:NSURL,Bonjour,Game Kit,WebKitCore Foundation层:基于 C 的CFNetwork 和 CFNetServicesOS层:基于 C 的 BSD socket前文讲的是最底层的 socket,本文将介绍位于 Core Foundation 中的 CFNetwork。CFNetwork 只是对 BSD socket 的进行了轻量级的封装,但在 iOS 中使用 CFNetwork 有一个显著的好处,那就是 阅读全文
posted @ 2013-07-25 11:03 toxic 阅读(311) 评论(0) 推荐(0)

摘要: 一,iOS网络编程层次模型在前文《深入浅出Cocoa之Bonjour网络编程》中我介绍了如何在Mac系统下进行 Bonjour 编程,在那篇文章中也介绍过 Cocoa 中网络编程层次结构分为三层,虽然那篇演示的是 Mac 系统的例子,其实对iOS系统来说也是一样的。iOS网络编程层次结构也分为三层:Cocoa层:NSURL,Bonjour,Game Kit,WebKitCore Foundation层:基于 C 的CFNetwork 和 CFNetServicesOS层:基于 C 的 BSD socketCocoa层是最上层的基于 Objective-C 的 API,比如 URL访问,NSSt 阅读全文
posted @ 2013-07-25 11:01 toxic 阅读(165) 评论(0) 推荐(0)

摘要: 一,NSStream简介首先来回顾下。在前文《[深入浅出Cocoa]iOS网络编程之Socket》中,提到iOS网络编程层次模型分为三层:Cocoa层:NSURL,Bonjour,Game Kit,WebKitCore Foundation层:基于 C 的CFNetwork 和 CFNetServicesOS层:基于 C 的 BSD socket前文《iOS网络编程之Socket》和《iOS网络编程之CFNetwork》讲了最底层的 socket 和Core Foundation层的 CFNetwork,本文将介绍位于 Cocoa 中的 NSStream。NSStream 其实只是用 Obje 阅读全文
posted @ 2013-07-25 11:00 toxic 阅读(5031) 评论(0) 推荐(0)