저는 C#에서 많은 문자열 조작을하고 있으며 실제로 문자열 당 1 바이트를 저장해야합니다. 이것은 메모리에서 동시에 기가 바이트의 텍스트가 필요하고 메모리 문제가 적기 때문입니다. 필자는이 텍스트가 비 ASCII 문자를 절대로 포함하지 않는다는 것을 알고 있습니다. 따라서 실제로 System.String과 System.Char가 문자 당 2 바이트로 모든 것을 저장한다는 사실은 불필요하고 실제적인 문제입니다.C#에서 UTF8로 문자열 저장하기
CharAscii 및 StringAscii 클래스를 코딩하려고합니다. 문자열은 기본적으로 데이터를 byte []로 유지하고 System.String에서 수행하는 것과 유사한 문자열 조작 방법을 제공합니다. 그러나 이것은 매우 표준적인 문제인 것처럼 보이는 많은 일을하는 것처럼 보입니다. 그래서 저는 이미 여기에 더 쉬운 해결책이 없다는 것을 확인하기 위해 정말로 게시하고 있습니다. 예를 들어, System.String이 내부적으로 데이터를 UTF8로 저장하도록 만들 수있는 방법이 있습니까? 예를 들어 눈치 채지 못했거나 다른 방법으로 문제를 해결할 수 있습니까?
.NET이 가장 좋은 방법입니까? 그것은 C/C++ 메모리에서 거대한 문자열의 조작을위한 더 나은 옵션이 될 것 같습니다. –
Jon Skeet이 작년에 조사했습니다. http://msmvps.com/blogs/jon_skeet/archive/2011/04/05/of-memory-and-strings.aspx –
[Somewhere] (http://msdn.microsoft.com) /en-us/library/windows/desktop/bb540816%28v=vs.85%29.aspx) utf8 문자열이 있습니다 – Gabber