문제

ASCII 특수 문자(예:ASCII 값 0x01)을 문자열로 변환하시겠습니까?

다음을 사용하고 있기 때문에 묻습니다.

str.Replace( "<TAG1>", Convert.ToChar(0x01).ToString() );

그리고 나는 이것보다 더 좋은 방법이 있을 것이라고 생각합니다.어떤 아이디어가 있나요?

업데이트:

또한 이 방법을 사용하는 경우 유니코드와 ASCII 충돌에 대해 걱정해야 합니까?

도움이 되었습니까?

해결책

나는 당신이 사용할 수 있다고 믿습니다 \uXXXX 문자열에 지정된 코드를 삽입합니다.

예상 시간:방금 테스트했는데 작동합니다.:-)

using System;
class Uxxxx {
    public static void Main() {
        Console.WriteLine("\u20AC");
    }
}

다른 팁

또한 이 방법을 사용하는 경우 유니코드와 ASCII 충돌에 대해 걱정해야 합니까?

첫 번째 문제는 태그가 ASCII와 충돌하는 것입니다.TAG10에 도착하면 0x0A와 충돌하게 됩니다.줄 바꿈.9개 이상의 태그를 얻지 못한다면 안전할 것입니다.유니코드 인코딩(또는 오히려:UTF8)은 바이트 값이 0에서 127 사이인 경우 ASCII 인코딩과 동일합니다.최상위 비트가 설정된 경우에만 다릅니다.

그리고 나는 이것보다 더 나은 방법이 있어야한다고 생각합니다.어떤 아이디어가 있나요?

노력하고 있는 것 같네요 텍스트 도구를 사용하여 바이너리 청크 조작.바이트를 삽입하고 싶다면 0x01, 예를 들어, 해당 바이트가 무엇인지 신경 쓰지 않기 때문에 더 이상 텍스트를 조작하지 않습니다. ~할 것 같다 표현하고 어떤 인코딩을 출력할지 신경 쓰지 않는 것처럼 보이기 때문입니다.

더 나은 방법은 조작하는 것을 데이터의 이진 덩어리로 처리하는 것입니다. 이렇게 하면 깨지기 쉬운 해결 방법을 사용하거나 부작용에 대한 걱정 없이 쉽게 비트와 바이트를 삽입할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top