Delphi中如何准确截取汉字

    在Delphi中,用Length来取字符长度时,如果有汉字,那它会将汉字当成一个字符来计算,而Copy把汉字又当成两个来处理,关键的是Copy一个字符后,我如何知道是否取的是汉字呢?是否把一个汉字取完整了呢?
    判断字符串的长度我们可以不用Length,改用StrLen(PChar(S1))来实现,但Copy呢?
    其实,用ByteType对取出来的字符进行判断,我们可以得知这个字符是一个单字符还是汉字的一部分!
    mbLeadByte: 汉字的第一个字节
    mbTrailByte: 汉字的第二个字节
    mbSingleByte: 单个的字符,不是中文字符。
    如果Copy出来的是汉字的第一个字节,就再多Copy一个,凑成完整的汉字。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章