4
에 문자열에서 유니 코드 문자를 교체? 그 예 문자열 결과가 있어야한다 : 어떤 빠른 교체 방법은내가 예를 들어 문자열이 C#을
str = "\u0104\u0106\u0179 \u2013 \u0107wr\u0105"
있습니까? 사용하고 싶지 않습니다. 각 문자를 바꾸십시오 ...
에 문자열에서 유니 코드 문자를 교체? 그 예 문자열 결과가 있어야한다 : 어떤 빠른 교체 방법은내가 예를 들어 문자열이 C#을
str = "\u0104\u0106\u0179 \u2013 \u0107wr\u0105"
있습니까? 사용하고 싶지 않습니다. 각 문자를 바꾸십시오 ...
실제로는 char.ConvertToUtf32
을 호출하는 유니 코드 코드 포인트로 작업해야하기 때문에 이런 JSON 문자열로 변환하는 것이 더 복잡합니다. 그렇게하기 위해서 당신은 어쨌든 서로 게이트 쌍을 다루어야합니다; System.Globalization.StringInfo
이 도움이 될 수 있습니다.
string str = "ĄĆŹ - ćwrą";
public string ToJsonString(string s)
{
var enumerator = StringInfo.GetTextElementEnumerator(s);
var sb = new StringBuilder();
while (enumerator.MoveNext())
{
var unicodeChar = enumerator.GetTextElement();
var codePoint = char.ConvertToUtf32(unicodeChar, 0);
if (codePoint < 0x80) {
sb.Append(unicodeChar);
}
else if (codePoint < 0xffff) {
sb.Append("\\u").Append(codePoint.ToString("x4"));
}
else {
sb.Append("\\u").Append((codePoint & 0xffff).ToString("x4"));
sb.Append("\\u").Append(((codePoint >> 16) & 0xffff).ToString("x4"));
}
}
return sb.ToString();
}
..의 – Sayse
중복 가능성 http://stackoverflow.com/ (문자열 [유니 코드 문자열 변환은 ASCII 문자열을 탈출하는] 않는 대체 : 여기
변환을 수행하기 위해 이들 빌딩 블록을 사용하는 함수의 질문/1615559/convert-unicode-strings-to-escaped-ascii-string) –고마워, 방금 발견 했어. 문제 해결됨. @ 사용하지 않으려는 것. 수백 번 바꾸어 라. – Yozer