- 注册时间
- 2005-5-21
- 最后登录
- 1970-1-1
|
字符串的长度问题
最近在编程时发现一个问题:字符串的长度变化。(在中文输入中)比如以下程序:
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的原因了。
这是我在编我的最新游戏“无双剑”的地图时发现的。希望大家能关注我的游戏!
|
|