hi,it's onebird‘s blog。My homepage is onebird.net.
onebird | 10 四月, 2007 01:22
最近由于回家很累,给自己安排的看书和研究和修改一些系统的任务都没有完成。
最近要改掉的毛病
1 老上抓虾
2 老上水木
3 没有静下心来使用整块的连续的时间。
罪过!
晚安!
onebird | 09 四月, 2007 22:06
总有一些人喜欢愁眉苦脸,我看了很讨厌。
年纪轻轻的,为什么想七想八这么多
onebird | 08 四月, 2007 13:08
创业要做好准备。这篇帖子写在自己一年多前的一个作品宣告终结之际。
写这个帖子, 因为知道两个同学正在经历我感觉不大合适的创业。
一个是将去一个概念很虚,发起人很不踏实的公司。
一个是和涉世不多同学做一些想当然的产品。
我想提醒他们,但是目前又很难影响他们。
onebird | 04 三月, 2007 20:28
onebird | 04 三月, 2007 20:11
onebird | 02 三月, 2007 23:12
onebird | 01 三月, 2007 00:00
所谓编码转换是将字符文本用一种编码的值表示转换成另一种编码的值表示。
编码的转换过程需要用到两种编码的映射表。
不过这一个映射过程的转换已经有开源的库libiconv实现了。
在编码转换过程其实很简单。
难的是:
1文本源编码的识别。(这个我们以后再讨论讨论,假设我们已知源编码)
2编码不纯粹。文本中某个字符损坏了,如丢了一个字节。或者夹杂了若干别的编码的字符。
具体来说
iconv转换要求从一个正确的开始位置开始转换。
iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
如果开始位置不是一个完整字符,如mybuf="我的好朋友" inbuf=mybuf+1
转换则会出错。
如果开始位置正确但是中途遇到某个字节的杂质,则转换也会停止返回错误退出。剩下的文本就不处理了。
但是我们留心ie或者firefox就会发现,虽然某些网页也有文件中含有别的编码字符或者残缺的字节。浏览器会对这个别字节用问号(有的用别的符号)代替。跳过这些字符又显示正确了。但是如Cterm之类的许多其他软件软件,再遇到半个汉字的情况整个文本都会显示乱码或者截断不能显示。
这差别是怎么就是由于文本中的杂质导致转换失败或者雪崩错乱(如GBK编码识别连续错位一个字节)。
其实是利用字符编码的一些规律。
举2个典型例子如下
utf8转换倒别的编码的情况。
由于utf8 二进制 第一个字节不会以10开头 0xc0; 其它字节都以10开头。
a 所以遇到转换失败时候,从转换失败处跳过一个字节,然后连续跳过所有不符合此规则的字节。
b 遇到符合要求的字节开始重新用iconf转换。
重复以上两个过程即可。转换成代码则是:
while(inbytesleft>0){
while((inbytesleft>0)
&&(*inbuf!='')
&&((* (unsigned char *)inbuf&0xc0)==0x80))
//0xc0 == 11000000b ; 0x80 == 10000000b
{
//skip rot
inbuf++;
inbytesleft--;
}
if(inbytesleft<=0 || (*inbuf=='')) break;
iconv_ret =
iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
if(iconv_ret<0){
inbuf++;
inbytesleft--;
}
iWriteBytes = outbuf - pszLocale;
iconv_close(cd);
}
GBK转倒别的编码比较麻烦。
因为GBK每个字符之间没有明显的边界(UTF8字符第一个字节都不以10开头).
所以GBK遇到杂质字节错误终止可能会连续错一小片直到某个条件发生。
这个条件也是利用GBK编码的特征。和过程ab不同的是跳过杂质尽快找到一个正确字符开头的条件如下 1
if( (*(unsigned char *)inbuf<0x40) )//不在GBk编码空间外 必定为ascii 雪崩停止
2
if( (*(unsigned char *)(inbuf+1) != '') && (inbytesleft>2)){
if(
( (*(unsigned char *)inbuf)<0x80 )
&& ( (*(unsigned char *)inbuf)>=0x40 )
{ // 落在0x80-ox40之前 必定为中文第二个字节 或者 英文,直接取下一个>
字节即可
onebird | 11 二月, 2007 22:31
下午写了一个小的订阅系统。让酷讯到的火车票第一分钟内发到手机。
半个小时写好部署程序,就出门逛街。三个小时内买了四张想要的票。
而两个朋友 从昨天晚上开始到哦傍晚在北京西站排队。
这个就是信息社会。
onebird | 11 二月, 2007 02:09
最容易下手的
书籍推荐和出版商分成
每本书分一折半折
当然不是随便推荐。把数据挖掘做好,根据用户的阅读日志分析,推断用户感兴趣的杂志和数据。
其实开始挺容易做的。简单可以计算相关性即可,接下去可能的分析还可以采用更多的统计方法。
如果书籍推荐的好,我愿意每个月买两三本,这样一个用户每个月就能贡献利润十多元钱。
另外来一些根据阅读兴趣(其实还能推断出用户其它兴趣 和 所处行业)的相关广告。
抓虾将豆瓣打扒
onebird | 11 二月, 2007 02:04
我要是迅雷ceo
我想应该做
1 iptv
2 视频分享
3 skype模式
其中哦1 2 是肯定的。
凭借广大用户,已有的P2SP基础,xunlei.com下载门户,客户端基础。
可以获得
1 上传快优势
2 带宽成本小优势
3 已有资源门户优势
4 已有用户群
5 已有积分
6 速度快优势
7 已有视频资源优势
迅速将 yoqoo 6rooms yijian imop pplive ppstram等打趴
福建 龙岩 永定 南开 酷讯 微软 搜索 广告 推荐 IM 网络应用 技术研发,工程管理 音乐 旅游 IPhone
| « | 十一月 2008 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |