Thanks very much for commenting, I'm trying to fix this.

2014-10-29 23:14 GMT+08:00 Akihiro Sagawa <sagawa.aki@gmail.com>:
On Wed, 29 Oct 2014 17:57:15 +0800, Shuai Meng wrote:
>  I have tested this for many times, but it is very strange that the result
> of String(1, 564) varies with different platforms,  running in cmd on xp,
> it equals to String(1, 564 / 256) while equals to String(1, 564 mod 256)
> running directly in vbs script(meaning save vbs code as test.vbs and double
> click it).
>   That confuses me a lot, according to MSDN documents, it should equal to
>  String(1, 564 mod 256), I don't know how to handle it.

Hello Shuai,

Despite MSDN documents, VBScript String function accepts double-byte
character code in DBCS locale based on my tests. That means you can
specify like String(3, &HE0E0) where &HE0E0 is an ANSI codepage
character code not a Unicode codepoint.
I guess String(1, 564) is internally interpreted as "\x02\x34" in DBCS
locale. As you know, \x02 isn't a valid lead-byte character, so, you got
"\x02". On the other hand, in SBCS locale, VBScript engine did 564 mod
256, thus, Piotr got "4".

Regards,
Akihiro Sagawa