TBytes로 선언 된 바이트 배열을 Delphi 2009에서 유니 코드 문자열로 변환하는 가장 좋은 방법은 무엇입니까? 필자의 특별한 경우 TBytes 배열에는 이미 UTF-16으로 인코딩 된 데이터가 있습니다 (각 문자 당 2 바이트).TBytes (UTF-16)를 문자열로 변환하는 가장 좋은 방법은 무엇입니까?
TBytes는 널 종결자를 저장하지 않으므로 배열에 인접한 메모리에 # 0이있는 경우에만 다음 작업이 수행됩니다.
MyString := string(myBytes);
그렇지 않으면, 문자열 결과는 (그것도 아마 메모리에 # 0을 발생하는 데 걸린 시간에 따라 읽기 위반이 발생할 수) 마지막에 임의의 데이터를해야합니다.
ToBytes 함수를 사용하면 't'# 0 'e # 0 ''# 0 't '0'이 반환됩니다.
감사 브루스를 사용하여 끝났다. TBytes 배열은 utf16 데이터로 인코딩되므로 ToBytes가 작동하지 않습니다. –
달콤한. 8 자만큼 간단합니다 : StringOf :) – Ampere