2011-08-31 47 views
7

Có cách nào tôi có thể tìm thấy kiểu ký tự hai chiều của ký tự Unicode trong C# không?Làm cách nào để tìm loại ký tự hai chiều của ký tự Unicode trong C#?

Tôi muốn xem xét thông qua các ký tự trong một chuỗi và quyết định xem họ là tất cả LTR mạnh, RTL mạnh, một hỗn hợp của LTR mạnh mẽ và trung tính, vv

+0

Maby điều này sẽ giúp bạn: http://stackoverflow.com/questions/4330951/how-to-detect-whether-a-character-belongs-to-a-right-to-left-language – HABJAN

Trả lời

6

System.Globalization.CharUnicodeInfo.GetBidiCategory(ch) là bạn của bạn.

Vấn đề là hàm nằm bên trong. This MichKap (RIP) blog post cho bạn biết cách gọi nó bằng cách sử dụng sự phản chiếu.

+0

Bạn có thể nhận được chính xác cùng một thông tin với [char structure's] (http://msdn.microsoft.com/en-us/library/system.char.aspx) các phương thức tĩnh. Vấn đề là, không ai trong số họ sẽ cung cấp cho bạn sự định hướng. –

+0

OK, có vẻ như tôi hơi sai vì phương pháp char sẽ cung cấp cho bạn danh mục Unicode chứ không phải danh mục BiDi. Bằng cách nào đó họ không nghĩ rằng thông tin này hữu ích. –

+0

Tôi cũng nghĩ rằng tôi sẽ tìm thấy nó trong 'Char' là tốt ;-) –

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