2010-07-28 38 views
5

có bất kỳ giải pháp đơn giản/nhẹ nào để thay đổi ít nhất một số ký hiệu không phải ASCII thành các tương tự ASCII tương ứng không? Ví dụ chuỗi nàyhạ cấp các ký tự không phải ascii thành tương đương ASCII 7 bit gần nhất (tốt nhất là Java)

abc-åäö.txt 

nên được thay đổi để

abc-aao.txt 

Một chút nền: Zip-công cụ này không đáng tin cậy hỗ trợ UTF-8, vì vậy cần phải hạ cấp. AFAICR Google "Tải xuống tệp đính kèm dưới dạng tệp zip đơn" thay thế bất kỳ ký hiệu không phải ascii nào bằng ký tự '_'.

PS: mã cũng có thể bằng một số ngôn ngữ khác, nếu nó ít nhiều dễ hiểu, tôi sẽ chuyển sang Java. PPS: câu hỏi đầu tiên của tôi cho đến nay, vì vậy xin vui lòng không trừ tôi dưới mặt đất được không?

+2

bản sao có thể có của [Chuyển đổi ký hiệu, chữ cái thành bảng chữ cái tiếng Anh.] (Http://stackoverflow.com/questions/1008802/converting-symbols-accent-letters-to-english-alphabet) – McDowell

+0

Vậy chúng ta sẽ tiến hành như thế nào , đóng này như là một bản sao? Các câu hỏi dường như khá gần nhưng tôi vẫn không thể thấy câu hỏi đó trước khi đăng bài của tôi ... –

+0

bản sao có thể có của [Thay thế các ký tự quốc gia bằng ASCII tương đương.] (Http://stackoverflow.com/questions/3194516/replace-national- tương đương với ký tự ascii) – dan04

Trả lời

1

Có thể this sẽ làm gì?

+0

nhờ tham chiếu, nhưng tôi không thấy mã thực tế ở đó, dường như đây là một phần của JRE (đó là java.text.Normalizer hoặc một cái gì đó tương tự) hoặc không phải là giải pháp nhẹ ... –

0

Nếu bạn cân nhắc sử dụng python, có một gói python khá tốt được gọi là unidecode, có thể dịch ASCII khẩu phần của văn bản Unicode.

Các vấn đề liên quan