在Delphi中,用Length来取字符长度时,如果有汉字,那它会将汉字当成一个字符来计算,而Copy把汉字又当成两个来处理,关键的是Copy一个字符后,我如何知道是否取的是汉字呢?是否把一个汉字取完整了呢?
判断字符串的长度我们可以不用Length,改用StrLen(PChar(S1))来实现,但Copy呢?
其实,用ByteType对取出来的字符进行判断,我们可以得知这个字符是一个单字符还是汉字的一部分!
如果Copy出来的是汉字的第一个字节,就再多Copy一个,凑成完整的汉字。
在Delphi中,用Length来取字符长度时,如果有汉字,那它会将汉字当成一个字符来计算,而Copy把汉字又当成两个来处理,关键的是Copy一个字符后,我如何知道是否取的是汉字呢?是否把一个汉字取完整了呢?
判断字符串的长度我们可以不用Length,改用StrLen(PChar(S1))来实现,但Copy呢?
其实,用ByteType对取出来的字符进行判断,我们可以得知这个字符是一个单字符还是汉字的一部分!
如果Copy出来的是汉字的第一个字节,就再多Copy一个,凑成完整的汉字。