我有兩個相同的字符串在JavaScript與一些空格。當我通過使用str.charCodeAt(n)
打印ascii值時,它顯示的值爲32和160.我搜索了這些值,它將我展示爲破壞和非破壞空間。那麼任何人都可以解釋這是什麼行爲。打破和不打破空間ASCII字符之間的差異
1
A
回答
1
正常(中斷)空間和非中斷空間之間的區別在於文本顯示和排版軟件不應插入自動換行符來代替非中斷空間。 (就好像非破壞空間將它之前和之後的單詞連接成一個不可分隔的單詞)。相比之下,一個常規空間被視爲可能破壞一條線的地方。
話雖如此,代碼160
實際上是在常規(7位)ASCII範圍之外。將160
解釋爲非破壞性空間(或NBSP
)字符來自Latin1(ISO8859-1)字符集。 (在擴展ASCII,對於NBSP
字符的代碼是255
!)
參考文獻:
2
非破壞性空間是一個不會闖入新行的空間。 由不分隔空格分隔的兩個詞將粘在一起,而不會分成新行。
另一方面打破空間將打破。
相關問題
- 1. 打破空間(非破壞空間的對面)
- 2. 不要打破頁的表之間
- 3. Xml命名空間打破我的xpath!
- 4. Html - 沒有打破新行的空間?
- 5. 打破字符串
- 6. xmlns命名空間打破lxml
- 7. htaccess打破文件名與空間
- 8. 非打破空間與代碼
- 9. XML命名空間打破了XHTML
- 10. css菜單打破空間後
- 11. .transition()打破我的差異圖表
- 12. 破折號和炒股之間的SEO差異
- 13. 非打破空間創建一個可視空間呈現
- 14. perl之間的差異打印
- 15. 運算符「==」和「=」之間的差異運算符「==」和「=」之間的差異「==」和「=」
- 16. 打破斜線,不破不破
- 17. 字符比較,並打破
- 18. HTML字符串打破
- 19. C++打破DWORD爲字符
- 20. Optgroup打破特殊字符
- 21. 打破部分字符串
- 22. FileChooser在GUI選擇和打字文件名之間的差異
- 23. 爲什麼java不打破空格不是空白字符?
- 24. 打破字符串並逐行打印
- 25. 產品和產品命名空間打破了我的xpath
- 26. 如何打破源收集和LINQ結果之間的聯繫
- 27. window.open - 如何打破孩子和父母之間的關係?
- 28. angularJS:如何打破模型和視圖之間的鏈接
- 29. 打破不同的表列之間的<form>標籤
- 30. 如何打破在C#中的長字符串不破的話
你能不能給我們一個樣本你使用過的2個字符串? – Mistalis
爲什麼會有java標籤? – Blobonat
要點思考:'charCodeAt'爲您提供了一個UTF-16代碼單元,其中一個或兩個編碼了一個Unicode代碼點。 ASCII字符集沒有不間斷的空格字符(但沒關係,如果您使用的是JavaScript,Java,.NET,HTML,XML ......,那麼您可能不使用ASCII。) –