我一直以为Trim函数的功能是把字串的头尾"空格"去掉,但最近程序出了个非常怪的bug,最后好不容易才发现是对Trim函数的误解,看看它的原码:function Trim(const S: string): string;var I, L: Integer;begin L := Length(S); I := 1; while (I < = L) and (S[I] < = ' ') do Inc(I); if I > L then Result := '' else begin while S[L] < = ' ' do Dec(L); Result := Copy(S, I, L - I + 1); end;end;看到了吗?它用了"< =",就是说不是光去掉"空格",小于"空格"的ASCII码都去掉了!我原来的资料里末尾有回车/换行(#13#10)符,结果也被去掉了,因此引起了奇怪的bug