2010-07-28 2 views
2

내 소스 코드의 일부 정규 표현식에서 일부 일본어/프랑스어 단어를 사용하고 있습니다. 나는 이것을 추적하는 것이 어려울 것이고 잡기가 어려운 버그를 소개하기 때문에 이것을 \ u 표기법으로 바꾸고 싶지는 않다.Java 소스 코드에 일본어/프랑스어 및 기타 비 ASCII 문자를 저장해야합니까?

소스 코드에서 비 ASCII 문자를 처리하는 표준적인 방법이 있습니까? 아니면 그대로 사용할 수 있습니까?

javac -encoding utf8 SourceFile.java 

그래서,이를 사용하여 UTF-8 인코딩 및 당신에게 당신의 텍스트 편집기를 설정하십시오 -encoding 스위치를 별도로 명시하지 않는 한

감사

+1

을 구축하기위한 단위 테스트를 실행 자동화 된 빌드 서버를 작동하는지 확인 일부 단위 테스트, 당신이 수에 대한 그들을 밖으로 외부 파일에 당겨 문자열에서 정규식을 컴파일? 이것은 i18n 문제와 같은 냄새가 나는데, 추적하고 저장해야하는 다른 언어에 대한 문자열이 있습니다. 소스에 있지 않아야 외부 리소스가되어야합니다. – Freiheit

+0

조심하십시오. 개발 플랫폼을 전환하는 날 캐릭터가 깨어납니다! –

+0

나는 @ Thorbj0rn에 동의하는 동안, 나는 기다리고 다른 사람들이해야 할 말을 볼 것이다. – Nayn

답변

4

프로그램 동작이 이제 프로그램이 컴파일되는 컴퓨터의 플랫폼 기본 인코딩 또는 컴파일러 인수에 따라 달라지기 때문에 다소 위험합니다. 그리고 그것은 버그를 찾기가 어렵습니다.

그런 소수의 정규식이 있다면 유니 코드 이스케이프를 사용하는 것이 좋습니다. 많은 경우, 나는이 UTF를 사용하지만 빌드 스크립트 (앱이 해당 스크립트를 사용하여 내장)

  • 이 후에 만, 총알을 물고 UTF-8 소스 코드를 사용하십시오 -8 컴파일
  • 정규 표현식에 올바르게
  • 모든 대신 소스 이러한 정규 표현식에를 저장하는
1

자바 소스 코드는 ASCII로 인코딩 된 것으로 간주됩니다 원하는 유니 코드 문자를 포함 할 수 있습니다.

+2

잘못되었습니다. (Sun/Oracle) Java 컴파일러는 플랫폼 기본 인코딩을 사용합니다. –

+0

질문을 다시 말합니다. 소스 코드에 ASCII 문자 이상을 도입하는 것은 나쁜 습관입니까? – Nayn

+0

@Michael Borgwardt : 대답을 수정했습니다. –

관련 문제