Q
什麼是字符編碼?
-1
A
回答
3
讀取該第一http://www.joelonsoftware.com/articles/Unicode.html
有兩種編碼:這是用於編碼字符串和用於解碼串的一個的一個。他們必須是相同的才能獲得預期的結果。如果它們不同,則某些字符將顯示不正確。我們可以嘗試猜測您是否發佈了實際和預期的結果。
5
我們沒有足夠的信息來真正回答這個問題,但其要點是:您不應該只是猜測。你需要計算出數據來自哪裏,並找出編碼是什麼。你還沒有告訴我們什麼關於數據源,所以我們完全處於黑暗中。你可能想嘗試Encoding.Default
如果這些文件是用記事本保存的。
如果您知道意思是是什麼,以及它們是如何用二進制表示的,那麼應該提示編碼...但是,我們需要了解更多信息。
3
我寫了一些方法來縮小可能性,而這種情況就像這樣。
static void Main(string[] args)
{
Encoding[] matches = FindEncodingTable('Ÿ');
Encoding[] enc2 = FindEncodingTable(159, 'Ÿ');
}
// Locates all Encodings with the specified Character and position
// "CharacterPosition": Decimal position of the character on the unknown encoding table. E.G. 159 on the extended ASCII table
//"character": The character to locate in the encoding table. E.G. 'Ÿ' on the extended ASCII table
static Encoding[] FindEncodingTable(int CharacterPosition, char character)
{
List matches = new List();
byte myByte = (byte)CharacterPosition;
byte[] bytes = { myByte };
foreach (EncodingInfo encInfo in Encoding.GetEncodings())
{
Encoding thisEnc = Encoding.GetEncoding(encInfo.CodePage);
char[] chars = thisEnc.GetChars(bytes);
if (chars[0] == character)
{
matches.Add(thisEnc);
break;
}
}
return matches.ToArray();
}
// Locates all Encodings that contain the specified character
static Encoding[] FindEncodingTable(char character)
{
List matches = new List();
foreach (EncodingInfo encInfo in Encoding.GetEncodings())
{
Encoding thisEnc = Encoding.GetEncoding(encInfo.CodePage);
char[] chars = { character };
byte[] temp = thisEnc.GetBytes(chars);
if (temp != null)
matches.Add(thisEnc);
}
return matches.ToArray();
}
1
編碼是修改某些現有內容的形式;從而允許它被所需的目標協議解析。
編碼的例子可以瀏覽互聯網時可以看到:
您訪問的網址:www.example.com,可有搜索工具,通過URL地址來運行定製搜索:
www.example.com?search=...
URL上的以下變量需要URL編碼。如果你是寫:
www.example.com?search=cat food cheap
因爲你已經使用的「無效字符,瀏覽器就不會明白你的要求」(一個空格)
要糾正這個錯誤編碼應交換「 '與‘%20’,以形成此URL:
www.example.com?search=cat%20food%20cheap
不同的系統使用不同的編碼形式,在這個例子中我已經使用標準十六進制編碼的URL。在其他應用程序和實例中,您可能會發現需要使用其他類型的編碼。
祝你好運!
相關問題
- 1. 這是什麼字符編碼?
- 2. URL應該是什麼字符編碼?
- 3. 谷歌的字符編碼是什麼?
- 4. 什麼字符是html編碼的?
- 5. 這是什麼字符編碼?
- 6. 這是什麼字符編碼?
- 7. 字符編碼問題和PHP - 這是什麼編碼?
- 8. PHP:這個字符串的字符編碼是什麼?
- 9. JCA部署描述符(ra.xml)字符編碼應該是什麼?
- 10. 什麼是符合此轉換的字符編碼:從「§」到「Ç」?
- 11. 什麼是編碼URL的字符?瀏覽器還是PHP?
- 12. 什麼字符不被編碼?
- 13. YOaf/MrA - 什麼字符編碼?
- 14. StreamReader.ReadToEnd()使用什麼字符編碼?
- 15. 爲什麼IIS拒絕編碼字符
- 16. 這是什麼編碼?需要解碼一些字符串。未知的編碼
- 17. 爲什麼URL編碼,或哪些字符編碼
- 18. 什麼樣的編碼器像這樣編碼字符串?
- 19. 什麼是' - '的ASCII字符碼?
- 20. 輸入的字符代碼是什麼?
- 21. 什麼是無符號字符140的代碼頁或編碼,unicode 0x0152 = 338?
- 22. 什麼是Rational Team Concert中使用的「字符編碼」?
- 23. 什麼是HTTP請求字符串的正確編碼?
- 24. 什麼字符編碼是ODBC數據源?
- 25. 這個文件的字符編碼是什麼?
- 26. 什麼是執行寬字符集及其編碼?
- 27. AJAX - HTTP標頭值的默認字符編碼是什麼?
- 28. UTF-8編碼問題(什麼是最後一個Unicode字符)
- 29. 這個二進制字符串是什麼編碼?
- 30. 什麼是JAX-RS的默認字符編碼?
我只能舉例。因爲我也不知道。它們是從一個名爲Kondor的程序運輸而來的,我無法訪問它的源代碼! – 2010-07-02 15:29:34
@aF:這就是爲什麼我首先寫出了答案中提出的方法。有時啓發式算法是唯一實用的解決方案。 – 2010-07-02 17:20:00