JSL의 특수 문자에 대한 모범 사례는 무엇입니까?example="blah blah Width = 25.0 �m ..some more stuff";
widthtext=regex(example,"Width\s=\s+\d+[.]\d+\s[\w?�]m");<BR /><BR />widthtext=regex(example,"Width\s=\s+\d+[.]\d+\s[\w?\x{FFFD}]m");죄송합니다. 이 문제는 다른 상황에서 이 문제가 발생했기 때문에 제가 권장 사항을 찾고 있는 일반적인 문제보다 덜 구체적인 문제입니다.
이 특정 예에서는 구문 분석이 필요한 일부 텍스트를 가져오기 위해 loadtextfile()을 사용하고 있으며 해당 텍스트에는 특수 문자가 포함될 수 있습니다.여기서는 "example" 변수를 사용하여 JMP에서 어떻게 보이는지 보여줍니다. 즉, "미스터리" 기호로 대체된 것입니다. (여기에 계속 표시되지 않는 경우 물음표가 있는 검은색 다이아몬드입니다.) 기호가 유니코드 FFFD라는 것을 알고 있습니다. (그리고 이 경우 원래는 미크론의 경우 mu였다는 것을 알고 있지만 확실하지 않습니다. JMP가 처리할 수 없는 특정 인코딩이 무엇인지).텍스트 파일을 로드할 때 사용할 문자 집합에 대한 기본 설정 옵션이 있다는 것을 알고 있으므로 이것이 실제로 mu로 표시될 때까지 시행착오를 겪을 수 있습니다.하지만 내 스크립트가 다양한 파일을 살펴보고 있기 때문에 캐릭터 작업에 실패하는 문제가 발생하지 않는 기본 설정을 지정할 수 있을지 확신할 수 없으며 어떤 경우에도 내 문제는 실제로 특정 특수 항목에 대해 이야기하는 방법에 관한 것입니다. 뮤 대신 "미스터리"를 갖는 것이 아니라 내 대본의 캐릭터입니다.
위의 예에서는 JSL(코드 RegEx의 두 번째 줄)에 포함하기 위해 JMP 로그에 표시된 대로 문자를 붙여넣었습니다.작동합니다.포함()은 인수로 붙여넣은 특수 장식물에서도 작동합니다.하지만 JSL을 저장하고 다시 열면 특수 문자가 ? 붙여넣은 기호를 사용하는 코드는 더 이상 작동하지 않습니다.JSL의 특수 문자는 잃어버릴 위험이 있는 것 같습니다.
세 번째 줄은 RegEx에 대한 문제를 수정하는 것입니다.숫자로 문자를 호출하여 연 후 실행되도록 할 수 있습니다. 하드코딩된 예제 대신 텍스트 파일을 열고 거기에 해당 기호가 있는 경우입니다. 하지만 다른 문자열 작업을 수행하고 싶다면 어떻게 해야 할까요?지금까지 contain()을 regex()로 변환했지만 JSL에서 기호를 사용하는 다른 방법이 있습니까?
JMP가 보고서에 사용하는 그리스 문자(예: 시그마)와 관련해 비슷한 문제가 있었습니다.보고서의 일부 텍스트를 테스트하는 코드를 작성하고 싶지만 기호를 붙여넣으면 JSL이 대체됩니다.이는 JMP가 선택하고 사용하는 기호이지만 JSL에서는 강력하게 사용할 수 없습니다.
Re: JSL의 특수 문자에 대한 모범 사례는 무엇입니까?감사해요!Re: JSL의 특수 문자에 대한 모범 사례는 무엇입니까?예
x = "\!U266b";
Show( x ); // "♫"
y = Char To Blob( x, encoding = "utf-16be" );
Show( Hex( y ) ); // "266B"
유니코드 대체 문자(검은색 다이아몬드의 물음표)가 표시되는 경우 대체 문자에 매핑되는 다른 문자도 있을 수 있습니다. 가능하다면 다대일 문제를 피하기 위해 올바른 문자 세트를 찾으십시오.
위의 스니펫보다 더 영리한 방법이 있을 수 있습니다. CharToBlob 함수는 문자를 16비트 빅엔디안 유니코드 표현으로 변환하고, Hex 함수는 블롭을 인쇄 가능한 16진수로 변환합니다.
CharToBlob에 대한 인코딩 문자 집합을 지정하지 않으면 기본적으로 UTF-8이 되며 이 특정 문자에 대해 3바이트 값 "E299AB"를 얻게 됩니다. BEAMED EIGHTH NOTES에 대한 fileformat.info 페이지
Re: JSL의 특수 문자에 대한 모범 사례는 무엇입니까?감사해요!내가 놓친 부분은 JSL 파일에서 대체되지 않는 방식으로 정규식 외부의 JSL에서 이에 대해 이야기하는 방법이었고 귀하의 예에서 이것이 방법이라는 것을 알 수 있습니다.
"\!UFFFD"
이는 문자가 무엇인지에 대한 관련 질문을 제기하며 JMP가 파일을 여는 데 적합한 문자 세트를 찾도록 하는 것이 아니라(다른 모든 문제) JSL에서 JMP가 사용하는 문자에 대해 이야기하고 싶습니다. 파일을 닫고 열 때 JSL이 손상되지 않아야 합니다.
이 경우에는 문자를 매우 쉽게 검색하고 이를 식별하는 코드를 찾았으며 JMP에서 작동했습니다. 로그에 JMP에 해당 문자가 있다고 가정해 보겠습니다. (JMP가 mu 문자를 찾아서 보고했거나 JMP 자체가 보고서에서 사용하는 시그마라고 말할 수 있습니다. 일부 텍스트를 구문 분석하는 코드의 경우 JMP가 문자로 사용하는 문자만 고려합니다. 해당 텍스트)... JMP가 실제로 사용하는 문자에 대해 "UFFFD"와 같은 코드를 얻을 수 있는 직접적인 방법이 있습니까?같은 것 what_is_this_character("�") .이 문제가 계속 발생하면 일반적으로 JMP에서 사용되는 문자를 보고 복사하여 붙여넣을 수 있습니다. 이것이 제가 JSL에서 강력하게 설명하고 싶은 맥락입니다.
감사해요!
Re: JSL의 특수 문자에 대한 모범 사례는 무엇입니까?다이아몬드 물음표는 유니코드 대체 문자입니다.
JMP는 유니코드를 선호하지만 다양한 성공률로 다른 문자 집합을 추측할 수 있습니다.
JMP는 파일을 다시 저장할 때 파일의 문자 집합을 보존하려고 시도할 수도 있지만 파일에 입력 문자 집합에서 유효하지 않은 바이트 시퀀스가 있는 경우 대체 문자가 되고 물음표가 됩니다. 유니코드가 아닌 문자 집합 변환입니다. (내 생각에는 이것의 일부 변형이 귀하의 예에서 일어난 일이라고 생각합니다.)
올바른 문자 세트(기본 설정)를 선택할 수 있으며 파일이 바이트 순서 표시가 있는 유니코드 파일이라고 주장하면서 유니코드가 아닌 문자 세트의 mu를 사용하고 있을 수도 있습니다.
유니코드 16진수 데이터를 매우 쉽게 얻을 수 있는 웹 사이트가 많이 있습니다. 여기서는 Windows 문자표를 사용했습니다.
Unicode escapeUnicode escape유니코드 이스케이프
(편집) 파일을 다시 열면 Windows 1252를 시작점으로 사용해 보는 것이 좋습니다. 텍스트 파일 로드에는 기본 설정을 사용하지 않고 문자 집합을 지정하는 옵션이 있다고 생각합니다.
Set it back to Best Guess when doneSet it back to Best Guess when done완료되면 다시 Best Guess로 설정하세요.