楼 主
纯DOS下如何计算并键入汉字的内码以进入中文文件夹
发表于 2005-11-15 14:39 · 中国 广东 肇庆 端州区 电信
初级用户
★
积分 22
发帖 10
注册 2005-11-15 13:56
20年会员
UID 45294
性别 男
状态 离线
请问,在纯DOS环境下,如何打开中文文件名的文件夹?(最好不用借助软件或建立批处理文件)
在纯DOS下,中文是不能显示的(显示得像乱码一样),我以前问过老师如何在纯DOS下进入“D:\操作系统”目录,他竟然将“操作系统”四个字 用笔算了出来了!结果是八组三位数(178、217、215、247、207、181、205、179),每两组数为一个字,在纯DOS下把“乱码”形式的“操作系统”四字打了出来(方法是按住“Alt”键再按小键盘的数字键再松开“Alt”键,一次为半个字,打了八次就打完了这四个字!)
我想问谁知道这八组数是怎样算出来的。
—————————————— willsort 版务记录 ——————————————
修改原标题:DOS问题请教。
原主题作者在通知发出三日后仍未申诉或修改,因此由版主修改并进行积分处罚
处罚包括:扣除因发表该主题而奖励的3点积分,扣除标题违规惩罚性1点积分
—————————————— willsort 版务记录 ——————————————
[ Last edited by willsort on 2005-11-30 at 13:27 ]
第 2 楼
发表于 2005-11-15 16:15 · 中国 上海 杨浦区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
真的哦,不知道用的是什么编码,最好算法简单点,真的很不错。
可惜上屏的仍然是乱码,只能在中文系统下显示
第 3 楼
发表于 2005-11-15 16:43 · 中国 山西 太原 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re king603:
DOS下的中文系统一般使用 GB2312 字符集国标编码,使用 GBK 或者 CJK 等大字符集的汉字系统的极少。而在 GB 码中,汉字分为一级汉字和二级汉字,一级按拼音顺序排列,二级按照笔画和笔画数排列。虽然有一定规律,但是实际计算时,必须对编码表有较强的记忆,一般不建议采用。
而在 DOS 下不使用汉字系统进入中文名目录(或者说打开开中文文件名的文件夹)早已有了许多方案,提供给你一个链接
老病新药:非中文环境下进入中文目录
http://www.cn-dos.net/forum/viewthread.php?tid=16819
当然,现有的方案都还无法完全做到,从许多中文名中辨认出某个具体中文名并进入,比如随机给出一个环境,包含许多同等长度的中文名目录,但不告知是哪些中文名,而只要求进入一个名为“目标目录”的目录,这是很难实现的。
[
Last edited by willsort on 2005-11-30 at 13:29 ]
※ Batchinger 致 Bat Fans:请访问
批处理编程的异类 ,欢迎交流与共享批处理编程心得!
第 4 楼
发表于 2005-11-15 19:54 · 中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
Originally posted by king603 at 2005-11-15 14:39:
我想问谁知道这八组数是怎样算出来的。
可以通过查询ASCII字符表来取得那些“乱码”的字符值。DN(DOS Navigator)和QB/QBasic的帮助文件都有ASCII表。至于怎么把中文字符的每个ASCII码值算出来,可以编一个小程序将ASCII字符转换为数值。
如果不借助任何工具的话,那只能靠死记硬背那些字符的ASCII码值咯 -_-
----====≡≡≡≡ 我的至爱,永远是
MSDOS!≡≡≡≡====----
第 5 楼
发表于 2005-11-15 20:25 · 中国 上海 宝山区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
第 6 楼
发表于 2005-11-16 01:36 · 中国 广东 肇庆 端州区 电信
初级用户
★
积分 22
发帖 10
注册 2005-11-15 13:56
20年会员
UID 45294
性别 男
状态 离线
第 7 楼
发表于 2005-11-16 21:42 · 中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
以QB为例:
a$ = "系"
PRINT ASC(LEFT$(a$, 1)); ASC(RIGHT$(a$, 1))
----====≡≡≡≡ 我的至爱,永远是
MSDOS!≡≡≡≡====----
第 8 楼
发表于 2005-11-16 23:13 · 中国 广东 肇庆 端州区 电信
初级用户
★
积分 22
发帖 10
注册 2005-11-15 13:56
20年会员
UID 45294
性别 男
状态 离线
如图:
这八组十进制数是不是有公式可以算出来的?
第 9 楼
发表于 2005-11-17 19:17 · 中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
每个字符是对应一个ASCII代码的,所以公式就是将ASCII字符转为代码。
----====≡≡≡≡ 我的至爱,永远是
MSDOS!≡≡≡≡====----
第 10 楼
发表于 2005-11-17 19:34 · 中国 广东 肇庆 电信
初级用户
★
积分 22
发帖 10
注册 2005-11-15 13:56
20年会员
UID 45294
性别 男
状态 离线
第 11 楼
发表于 2005-11-22 13:58 · 中国 广东 肇庆 电信
初级用户
★
积分 22
发帖 10
注册 2005-11-15 13:56
20年会员
UID 45294
性别 男
状态 离线
第 12 楼
发表于 2005-11-22 19:53 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
----====≡≡≡≡ 我的至爱,永远是
MSDOS!≡≡≡≡====----
第 13 楼
发表于 2005-11-22 21:09 · 中国 广东 肇庆 电信
初级用户
★
积分 22
发帖 10
注册 2005-11-15 13:56
20年会员
UID 45294
性别 男
状态 离线
好像有点关系哦!不过还是不太懂~~~~~~(我太笨~~?)
如:“操”=“178 217”中,若结果答案是“178 217”,那么,已知条件是不是除了“操”字外还有其它讯息作“已知条件”的?那些所谓隐含的“已知条件”又是什么呢?(我好像问得太深奥了~~~),还是,这个“178 217”这个结果答案只能用电脑算而根本不可能以人手算了来的?
第 14 楼
晕,标题超长,白打了。
发表于 2005-11-23 14:19 · 中国 江西 南昌 联通
初级用户
★
积分 24
发帖 8
注册 2005-11-23 12:22
20年会员
UID 45778
状态 离线
第 15 楼
发表于 2005-11-23 14:24 · 中国 江西 南昌 联通
初级用户
★
积分 24
发帖 8
注册 2005-11-23 12:22
20年会员
UID 45778
状态 离线
论坛跳转: