Intelligence without ambition is a bird without wings.

2014-12-11
网站SEO

阅读此文

2014-12-10
python-字符串编码转换

概念

python使用unicode作为字符串内部编码,所有转换应通过unicode进行

编码(encode),将中间对象(unicode object)转为其他编码对象

解码(decode),将其他编码对象转为中间对象(unicode object)

unicode objectunicode object

前提必须清楚字符串是什么编码,假设strgbk编码

u = str.decode('gbk')

u = unicode(str, 'gbk')

unicode object转非unicode object

假设转为utf-8

utf8 = u.encode('utf-8')
阅读此文

2014-12-10
python-字符串常量编码

构造方法

  • str

    ‘string’

该字符串常量编码取决于源文件编码

  • unicode object

    u’string’

构造的对象为unicode object,若需转换为其他编码,无需decode操作

阅读此文

2014-12-10
python-IDLE中文问题

问题描述

在IDLE中使用u'中文'.encode('gbk')报错

原因

IDLE本身BUG

参考

  1. http://blog.csdn.net/mayflowers/article/details/1568852
阅读此文

2014-12-10
win下编译libcurl

环境

编译

  • 下载官网,解压

  • 编译好的openssl({ iLink title:win下编译openssl %})拷贝到../deps

  • 进入winbuild目录

  • 编译(具体参考winbuild/BUILD.WINDOWS.txt)

    • release

      nmake /f Makefile.vc mode=dll VC=10 WITH_SSL=dll ENABLE_IDN=no

    • debug

      nmake /f Makefile.vc mode=dll VC=10 WITH_SSL=dll ENABLE_IDN=no DEBUG=yes

  • 输出目录为builds

阅读此文

2014-12-10
win下编译openssl

前提

  • perl
  • VC++

编译(详细过程参考INSTALL.W32)

  • 生成Makefile

    perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir
    ms\do_ms
    
  • 编译

    nmake -f ms\ntdll.mak
    
  • 测试

    nmake -f ms\ntdll.mak test
    
  • 安装

    nmake -f ms\ntdll.mak install
    
阅读此文

2014-12-09
svn撤销删除

  • 通过svn delete删除的文件或目录

    svn revert DeletedDir --recursive
    
  • 手动删除或rmdir

    svn update DeletedDir
    

    参考

  1. http://stackoverflow.com/questions/1786687/svn-undo-delete-before-commit
  2. http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.revert.html
阅读此文

2014-12-09
解决tortoisesvn和dropbox图标冲突

阅读此文

2014-12-09
最短域名

最短域名,减少网络诊断ping命令长度

  • g.cn

  • g.com

  • z.com

  • q.com

  • x.com

参考

  1. http://gawker.com/318368/the-shortest-domain-name-ever
阅读此文

2014-12-09
jsoncpp编译安装

前提

  • VC++(改用其他编译器,下面的Makefile需要改成对应的)
  • cmake

编译

  • 下载官网

  • 解压,在根目录新建build目录

  • [可选]debug库添加d后缀

    编辑根目录下CMakelists.txt,添加一行

    SET(CMAKE_DEBUG_POSTFIX d)
    
  • cd build

  • 生成makefile

    • shared-debug

      cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=./jsoncpp-0.7.0-shared-debug -G "NMake Makefiles" ..
      
    • shared-release

      cmake -DCMAKE_BUILD_TYPE=release -DJSONCPP_LIB_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=./jsoncpp-0.7.0-shared-release -G "NMake Makefiles" ..
      
    • static-debug

      cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_SHARED=OFF -DCMAKE_INSTALL_PREFIX=./jsoncpp-0.7.0-static-debug -G "NMake Makefiles" ..
      
    • static-release

      cmake -DCMAKE_BUILD_TYPE=release -DJSONCPP_LIB_BUILD_SHARED=OFF -DCMAKE_INSTALL_PREFIX=./jsoncpp-0.7.0-static-release -G "NMake Makefiles" ..
      
  • 编译

    nmake
    
  • 安装

    nmake install
    
  • 生成doxygen文档

    python doxybuild.py --doxygen="d:\Program Files\doxygen\bin\doxygen.EXE" --open
    

问题

  • 为什么使用nmake(/MT)和vs2010(/MD)编译链接的C运行库版本不一致?

参考

  1. https://github.com/open-source-parsers/jsoncpp
阅读此文