2011-09-12 3 views
-1

문자열 입력 인코딩에 대해 자동으로 빌드 중입니다. 그리고 패턴을 인코딩하기위한 정규식을 만들고 싶습니다. 예를 들어자동 고침 인코딩 정규 표현식 패턴

:

var encoding = "utd-8"; 
Correct c = new Correct(encoding); 
var c.Correct(); 

출력은 utf-8이다. 나는 (그리고 아름다운 물건을 쓴 위대한 사람들로부터 오픈 소스 코딩을 사용하여) 대부분의 작업을하고있다. 어떤 사람이 제발 도와 줄 수 있습니까?

UPDATE

내가 결국 필요한 것은 올바른 인코딩을위한 정규식 패턴입니다. 사용자가 인코딩 이름 iso-8859-1을 입력하고 유효한지 확인합니다.

답변

1

문제를 해결하는 방법을 결정하기 전에 어떤 기술을 사용해야할지 결정해서는 안됩니다. 정규 표현식이 정말로 필요한가요?

질문을 올바르게 이해하면 입력 문자열이 지원되는 인코딩 중 하나와 비슷하게 보이는지 확인해야합니다. 한 줄의 코드를 작성하기 전에 다음을 찾아야합니다.

  • 어떤 인코딩을 지원합니까? 별칭을 지원합니까 (UTF-16Unicode과 동일합니까)?
  • 입력 문자열이 선택한 인코딩 (utd-8, utd-9, utd9, td9, 9)과 얼마나 다를 수 있습니까?
  • 주어진 입력 문자열 "utf-36"의 경우 출력은 UTF-16 또는 UTF-32입니까?

아마도 주제에 대한 영감을 얻기 위해 문자열 거리 알고리즘 중 하나 (예 : http://en.wikipedia.org/wiki/Levenshtein_distance)를 살펴볼 수 있습니다. 거기에 "참조하십시오"섹션에 링크가 많이 있습니다.

+0

또한 메소드의 매개 변수로'encoding' 변수를 제공하고 객체의 생성자는 제공하지 마십시오. 그런 식으로 하나의'Correct' 인스턴스는 여러 인코딩을 수정할 수 있습니다. 또는 메서드를 정적으로 만듭니다. –

+0

내가 할 일은 자동 올바른 문자열 입력입니다.이 경우 엔 어떤 종류의 인코딩입니다. (실제로 인코딩 기능을 사용하지 않아도됩니다.) 이름을 이해하지 못하면 죄송합니다. – guyl

+0

입력 문자열 "utf-36"은 "utf-16"또는 "utf-32"로 자동 수정됩니까? "xkueukr"문자열을 자동으로 수정하려면 어떻게해야합니까? 'puter'에게이 결정을 내릴 수는 없습니까? –