2007年07月26日 星期四 12:07
前几天列表中讨论过这个话题,最近自己研究了一下,和大家分享一下,请大家补充。 另外有谁知道如何在Windows下添加locale的,请给个提示。 Python拼音排序的支持 Python内置的字符串比较并未考虑locale信息,其标准库locale库也没有提供能按 拼音排序的LC_COLLATE,排序完全交给操作系统的locale完成。有一些项目提供了 不完全的拼音支持,如ZopeChinaPak中提供了GB2312编码到拼音的转换,可以以此 为基础写一个比较函数。 比较好的方法是通过locale,由于没有标准的支持中文排序的locale,有人自己编 写了一个locale-pinyin(http://www.cublog.cn/u/8057/showart_245534.html), 能够实现这个功能,目前据说已经整合进了标准的glibc库。下载地址是: https://gro.clinux.org/frs/download.php/1962/locale-pinyin-0.1.tar.gz 不过这个locale只能在Linux下编译,不知道如何在Windows下使用。以下为Linux 下使用的例子: 1. 解开locale-pinyin安装包,运行make,然后make install 2. 运行以下测试程序,可以看到其效果: # -*- coding: utf-8 -*- import locale a, b = u'小学' print a < b print locale.strcoll(a, b) locale.setlocale(locale.LC_COLLATE, 'zh_CN在pinyin.utf8') print a < b print locale.strcoll(a, b) 可见即使strcoll可以正确使用拼音进行比较,标准的字符串比较和排序函数并不 能从中得益,需要自己写比较函数。 -------------- 下一部分 -------------- 一个HTML附件被移除... URL: http://python.cn/pipermail/python-chinese/attachments/20070726/cd3f5acd/attachment.html
2007年07月26日 星期四 12:26
On 7/26/07, Hong Yuan <hongyuan在homemaster.cn> wrote: > 前几天列表中讨论过这个话题,最近自己研究了一下,和大家分享一下,请大家补充。 > > 另外有谁知道如何在Windows下添加locale的,请给个提示。 > > Python拼音排序的支持 Great ! 先收录在 : http://202.108.44.62/moin/MicroProj/2007-07-26 慢慢品味,改进 > > Python内置的字符串比较并未考虑locale信息,其标准库locale库也没有提供能按拼音排序的LC_COLLATE,排序完全交给操作 > 系统的locale完成。有一些项目提供了不完全的拼音支持,如ZopeChinaPak中提供了GB2312编码到拼音的转换,可以以此为基础写一个比 > 较函数。 > > 比较好的方法是通过locale,由于没有标准的支持中文排序的locale,有人自己编写了一个locale-pinyin(http://www.cublog.cn/u/8057/showart_245534.html), > 能够实现这个功能,目前据说已经整合进了标准的glibc库。下载地址是: > > https://gro.clinux.org/frs/download.php/1962/locale-pinyin-0.1.tar.gz > > 不过这个locale只能在Linux下编译,不知道如何在Windows下使用。以下为Linux下使用的例子: > > > > 解开locale-pinyin安装包,运行make,然后make install > > > 运行以下测试程序,可以看到其效果: # -*- coding: utf-8 -*- > > import locale > a, b = u'小学' > print a < b > print locale.strcoll(a, b) > locale.setlocale(locale.LC_COLLATE, 'zh_CN在pinyin.utf8') > print a < b > print locale.strcoll(a, b) > > > > 可见即使strcoll可以正确使用拼音进行比较,标准的字符串比较和排序函数并不能从中得益,需要自己写比较函数。 > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > -- '''Time is unimportant, only life important! 过程改进的目标不是高品质产品,而是促生靠谱的人的组织! ''' http://zoomquiet.org blog在http://blog.zoomquiet.org/pyblosxom/ wiki在http://wiki.woodpecker.org.cn/moin/ZoomQuiet or http://202.108.44.62/moin/ZoomQuiet scrap在http://floss.zoomquiet.org douban在http://www.douban.com/people/zoomq/ ____________________________________ Pls. use OpenOffice.org to replace M$ Office. http://zh.openoffice.org Pls. use 7-zip to replace WinRAR/WinZip. http://7-zip.org/zh-cn/ You can get the truely Freedom 4 software.
Zeuux © 2025
京ICP备05028076号