易码技术论坛

 找回密码
 加入易码
搜索
查看: 119605|回复: 1

字符串的长度问题

[复制链接]
发表于 2006-4-15 08:40:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2006-4-7 13:35:46 | 显示全部楼层 |阅读模式
字符串的长度问题
最近在编程时发现一个问题:字符串的长度变化。(在中文输入中)比如以下程序:
10 Y$="我爱编程"
20 CLSRINT LEN(Y$),
30 OPEN "ZI.DAT" FOR OUTPUT AS #1
40 WRITE #1,Y$
50 CLOSE #1
60 OPEN "ZI.DAT" FOR INPUT AS #1
70 INPUT #1,X$
80 CLOSE #1
90 PRINT LEN(X$);
100 END
运行后屏幕上会显视:
12
8
为什么同一个字符串长度会不同呢?让我们来分析一下:
一个中文字,如“我”字,通过以下程序:
10 PRINT ASC(MID$("我",1,1)),
20 PRINT ASC(MID$("我",2,1)),
30 PRINT ASC(MID$("我",3,1));
40 END
运行后如下:
31
206
210
而运行以下程序:
10 PRINT CHR$(206);CHR$(210);
20 END
运行后还是“我”字,这就说明那31是没用的,而在测字长时“我”字就是3。而存档后,那个31就没了,在测字长是2。这就解释了为什么刚才字符串一会是12一会是8的原因了。
这是我在编我的最新游戏“无双剑”的地图时发现的。希望大家能关注我的游戏!

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-5-13 20:51 , Processed in 0.010973 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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