1. 程式人生 > >css的white-space屬性導致了空格問題——檢視十六進位制發現2020變成了c2a0

css的white-space屬性導致了空格問題——檢視十六進位制發現2020變成了c2a0

            今天發現了一個奇怪的問題,從文字編輯器(notepad++)中把一段文字輸入到easyui的textbox文字框(textarea)中,不進行任何的操作,直接再從文字框中把文字拷貝出來貼到文字編譯器中,通過檢視兩次文字的十六進位制,發現空格部分發生了變化。如下圖:

1、文字內容1:(原始文字被容)


2、輸入到easyui的textbox中:


3、從文字框中產貼出來:


初步觀察會發現兩段文字在空格上發生了變化,進一步觀察其十六進位制內容:

4、原始文字的十六進位制:


5、粘貼後的文字十六進位制:


很明顯,空格發生了變化,被轉成了c2a0

經過了半上午的對比,最終發現了一個css屬性: white-space,檢視w3c解釋:

描述
normal 預設。空白會被瀏覽器忽略。
pre 空白會被瀏覽器保留。其行為方式類似 HTML 中的 <pre> 標籤。
nowrap 文字不會換行,文字會在在同一行上繼續,直到遇到 <br> 標籤為止。
pre-wrap 保留空白符序列,但是正常地進行換行。
pre-line 合併空白符序列,但是保留換行符。
inherit 規定應該從父元素繼承 white-space 屬性的值。

預設是normal,當在textarea中加上white-space:pre-wrap 屬性以後,上述問題迎刃而解。

相關推薦

css的white-space屬性導致空格問題——檢視發現2020變成c2a0

            今天發現了一個奇怪的問題,從文字編輯器(notepad++)中把一段文字輸入到easyui的textbox文字框(textarea)中,不進行任何的操作,直接再從文字框中把文字

遇到問題---redis命令列檢視中文亂碼--字串處理

症狀 Redis在使用命令列操作時,如果檢視內容或者key中包含中文,會顯示16進位制的字串”\xe4\xb8\xad\xe5\x9b\xbd” 127.0.0.1:6379> set k1 '中國' OK 127.0.0.1:6379> get

xslt中的問題:"<"(0x3C)是無效的屬性字元

今天早上換了臺電腦,但是把原來專案複製過來卻遇到了個問題,問題rt 研究了很久,都沒發現具體是什麼原因。 在網上搜了下,主要可能有3種原因導致的 1,快取,這個具體是看某個帖子說的,到底有沒有這種可能還是滿懷疑的。 2,xml格式錯誤,這個比較容易,檢查下xml文件,看下是否

android 藍芽模組Bluetooth 使用 資料傳送

一個藍芽模組看起來很小,弄起來還是有點複雜的,從網上找了一個示例程式碼,http://blog.csdn.net/vnanyesheshou/article/details/51554852但是不能直接用,需要自己進行閱讀理解和修改後才能使用。 先貼一張自制的uml圖: 從圖中不難看出

Python: 二進位制、八轉換或者輸出

為了將整數轉換為二進位制、八進位制或十六進位制的文字串,可以分別使用bin() ,oct() 或hex() 函式: >>> x = 1234 >>> bin(x) '0b10011010010' >>> oct(x) '0o2322' >&g

QT十進位制字串轉換

QByteArray在串列埠通訊中經常被使用,有一定必要較為全面詳細的對QByteArray進行闡述。本文通過以下幾個部分加以介紹: 1. 初始化 2. 訪問與賦值 3. 新增、刪除、插入與替換操作 4. 查詢與比較 5. 資料轉換與處理 1 初始化 2 訪問與賦值

【Java篇02】二進位制、十進位制、之間的相互轉換

1. 二進位制 -> 十六進位制 eg: 二進位制數 1001 1010; 通過1248賦值法,即 1001 1010 8421 8421 --------------- 1+8=9 , 2+8=10; 即二進位制數1001 1010,對應十六進位制的數為 o

CSDN中字型顏色的表(轉載)

顏色名列表 顏色名 十六進位制顏色值 顏色 AliceBlue #F0F8FF rgb(240, 248, 255) AntiqueWhite #FAEBD7

[計算機程式設計C++] 輸入整數顯示和八

12 輸入整數顯示十六進位制和八進位制(10分) 題目內容: 編寫程式,輸入整數,顯示其十進位制、十六進位制和八進位制形式。如輸入31,輸出: -31 -1f -37 輸入:一個整數,注意,可能是負數。 輸出:三個數,十進位制、十六進位制和八進位制,用空格隔開。 提示

Java:轉換成十進位制

問題及程式碼: /*   *問題描述    從鍵盤輸入一個不超過8位的正的十六進位制數字符串,將它轉換為正的十進位制數後輸出。     注:十六進位制數中的10~15分別用大寫的英文字母A、B、C、D、E、F表示。   *

二進位制,十進位制,互相轉化

二進位制轉化為十進位制:(1)從右向左數,確定所數的數字是第幾位(編號為n),轉化為十進位制的時候,用這個數乘以2的n-1次方,以此類推,將各個位上的數所得的式子相加即可,便得到了十進位制數。 特殊情況,如:二進位制數100,1000,10000,

藍橋杯 基礎練習 十進位制轉 (練習棧方法)

問題描述   十六進位制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16個符號,分別表示十進位制數的0至15。十六進位制的計數方法是滿16進1,所以十進位制數16在十六進位制中是10,而十進位制的17在十六進位制中是1

Python程式設計:二進位制,八與十進位制之間的轉換

進位制轉換的函式 bin() 10進位制轉2進位制 oct() 10進位制轉8進位制 hex()10進位制轉16進位制 int() *進位制轉10進位制 各進位制之間轉換 ↓ 2進位制 8進位制

數輸出和佔位

十六進位制數輸出和佔位 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 輸入一個整數,請你按如下要求輸出: 第一行按原樣輸出, 第二行以十六進位制輸出(字母小寫), 第三行以

藍橋杯: 基礎練習 轉八

問題描述   給定n個十六進位制正整數,輸出它們對應的八進位制數。 輸入格式   輸入的第一行為一個正整數n (1<=n<=10)。   接下來n行,每行一個由0~9、大寫字母A~F組成的字串,表示要轉換的十六進位制正整數,每個十六進位制數長度不超過100000。 輸出格式   輸出n行,每行

藍橋杯轉八

問題描述  給定n個十六進位制正整數,輸出它們對應的八進位制數。輸入格式  輸入的第一行為一個正整數n (1<=n<=10)。  接下來n行,每行一個由0~9、大寫字母A~F組成的字串,表示要轉換的十六進位制正整數,每個十六進位制數長度不超過100000。輸出格式  輸出n行,每行為輸入對應的八進

String與數互轉

  /***將字串轉換16進位制**/   public String toHexString(String jsonStr){            byte[] bytes=

以內任意之間的轉換

思路就是先轉成10進位制,再轉成其他進位制 /**m:源編碼進位制,m <= 16都適用 * n:代表目的編碼,也是得小於16 * */ #include <stdio.h> void m2n(int m, char* mNum, int n, char* nNum)

QT---之QByteArray關於賦值詳解

本文章主要總結QByteArray類的用法,主要是總結如何給QByteArray的物件賦值十六進位制數和顯示該十六進位制數以及十六進位制數在QByteArray中的儲存形式,具體的例項如下所述:(字元表示的十六進位制數:'\xFF') (Qt中QByteArray儲存的十六進位制數是0xff,實

十進位制轉化

程式碼 #include<stdio.h> #include<stdlib.h> char data[] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' }; int zhu