이전 게임 콘솔 용 컴파일러를 사용하고 있지만이 컴파일러는 ANSI 문자 만 허용합니다. UTF-8이 필요한 게임이 일본어로되어 있기 때문에 문제가됩니다. 이 문제를 해결하기 위해 문서의 모든 일본어 문자를 16 진수로 대체 한 sed를 실행하는 일괄 처리 스크립트를 작성했습니다.sed : 각 문자를 구분 기호 사이에서 개별적으로 바꿉니다.
주요 나오지 스크립트는 다음과 같습니다
chcp 1252
sed "s|\[terminator\]|,$FF|g"^
;"s|ャ|,$00|g"^
;"s|ィ|,$01|g"^
test.asm > test2.asm
그래서 같은 문자열 "ャ ィ ャ [터미네이터]"로 변환됩니다 "$ 00 $ 01 $ 00, $ FF".
숫자 및 문장 부호와 같이 텍스트 문자열에 삽입 할 수있는 비 일본어 문자도 코드의 다른 곳에서도 사용되므로 문제를 방지하려면 이러한 문자의 대체 버전을 사용해야합니다. 모든 주석 앞에 세미콜론을 변환하면 컴파일 프로세스가 실패하게됩니다. 그러나이 해결 방법을 사용하면 사용자는 일반적 으로처럼 입력하는 대신 수정하는 느낌을주는 문자열에이 대체 문자를 복사하여 붙여 넣어야합니다.
그래서, 내 질문은 어떻게 문자열 구분 기호 (파이프) 사이의 문자를 대체 할 수 있습니다 문서에서 사방에 대체를 수행하는 대신? 즉
, 내가 원하는 다음과 같습니다 뭔가 대체 할 나오지이에
<label> dw $1234 : db |ャィャ[terminator]| ; Comment (blah ャィャ blah)
(파이프 및 주요 쉼표를 나중에 제거됩니다) :
<label> dw $1234 : db |,$00,$01,$00,$FF| ; Comment (blah ャィャ blah)
공지 주석 부분을 건드리지 않았다.
질문을 편집해야합니다. 아무도 그것을 이해하지 못하거나 누군가가 이미 대답했을 것입니다. 그 부분은 혼란 스럽습니다. "원래 문서 내에서 문자열을 유지하는보다 사용자 친화적 인 방법을 사용하고 싶습니다." –
완료. 지금은 더 이해가 되니? –
. 당신은 심지어 그것이 텀블 위 질문이 될 수있는 것에 대한 답을 얻었다. –