明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3562|回复: 6

lisp实现文字内码转化

[复制链接]
发表于 2012-1-8 23:57:03 | 显示全部楼层 |阅读模式
lisp实现文字内码转化?


         一堆文件名是繁体的,到简体系统下全是乱码了,选择重命名,复制,存txt文本,再用word打开,看到后,再复制,再更名,一个个改实在麻烦,
         写了一个程序,把一个文件夹下的文件名自动收集,生成txt 再用work转码GBK,然后在自动将改成gbk的繁体,这样是实现了,但是基于word,有没有用lisp直接转码的方法了????
 楼主| 发表于 2012-1-9 00:11:28 | 显示全部楼层

编辑的一部分转化程序,需要手动参与,要Word支持

本帖最后由 sfzyr 于 2012-1-9 00:16 编辑

(defun writetxt (/ p1str write-id)
  (setq dir "F:\\aaa\\bb\\cc\\dd\\")
  (setq dir-path
  (strcat (getenv "TempDirectory")
   "\\lststr.sf$"
  )
  )
  (setq lst-str1 (cddr (vl-directory-files dir)))
  (setq p1str (vl-prin1-to-string lst-str1))
  (setq write-id (open dir-path "w"))
  (write-line p1str write-id)
  (close write-id)
)
;;;========================================================================
;;;???????手动到word中将文本转为GBK,这样繁体在简体系统下能正常显示,然后复制,存到原有的TXT文档中
;;;::;???这里要是能实现lisp自动转内码,我的程序可以写完整了,其他语言好像有。api函数好像也有,lisp不知如何实现
;;;========================================================================
(defun opentxt (/ open-id)
  (setq open-id (open dir-path "r"))
  (setq lst-str2 (read (read-line open-id)))
  (close open-id)
)
;;;=======================================================================
(defun rename (/ lstlen count name1 name2)
  (setq lstlen (length lst-str1))
  (setq count 0)
  (while (< count lstlen)
    (setq name1 (strcat dir (nth count lst-str1)))
    (setq name2 (strcat dir (nth count lst-str2)))
    (vl-file-rename name1 name2)
    (setq count (1+ count))
  )
)
;;;=======================================================================
(defun delfile ()
  (vl-file-delete dir-path)
  )
发表于 2012-1-9 08:07:24 | 显示全部楼层
建议直接套用 ConvertZ 8.02
Google .....
 楼主| 发表于 2012-1-13 20:42:06 | 显示全部楼层
可能3楼大师未看懂我的问题:

   1,是文件夹得名字是乱码,

  2.是更改不方便

  3.程序取回所有的文件名,在对应转换,在对应重命名。

4.文件名乱码,一个个改太麻烦,所以才想此方法,批量更改

谢谢回复。
 楼主| 发表于 2012-1-13 20:48:44 | 显示全部楼层
本帖最后由 sfzyr 于 2012-1-13 20:52 编辑
Andyhon 发表于 2012-1-9 08:07
建议直接套用 ConvertZ 8.02
Google .....


我想批量修改
就是选中某个文件夹后,此文件夹下的所有其他文件或文件夹,或者文件夹下的文件等统统自动修改为GBK编码的文字!

;;;???????手动到word中将文本转为GBK,这样繁体在简体系统下能正常显示,然后复制,存到原有的TXT文档中
;;;::;???这里要是能实现lisp自动转内码,我的程序可以写完整了,其他语言好像有。api函数好像也有,lisp不知如何实现

上面要是能程序实现,就可以写成全自动修改文件夹名字的程序了!不知道可有方法实现

就是说程序实现繁体BIG5--》繁体gbk 的转换。得到另外一个表,然后在用得到的文字,修改文件夹名字
发表于 2012-1-13 20:54:54 | 显示全部楼层
 楼主| 发表于 2012-1-13 23:56:22 | 显示全部楼层
Andyhon 发表于 2012-1-13 20:54
http://www.google.com/search?q=%E6%95%99%E5%AD%A6+%22convertz

谢谢,问题解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-9 04:16 , Processed in 0.176206 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表