2010-07-12 73 views
1

我需要將字符串從文本字段轉換爲字節。我怎樣才能做到這一點?jQuery - 如何將字符串從文本框轉換爲字節?

原因:在文本框中的文本將通過短信發送到客戶端,我已經限制 文本160chars但如果我把特殊字符像@€£‰¶÷‰‰€ £@它將大於 256字節(這是一個短信的大小)。

所以我需要從256轉換的文本中刪除字節,並將結果轉換爲正常的字符長度。

例子:

var charsleft = toChars(256 - toBytes(mystring)); 

編輯:
理由是JavaScript的:我有一個行說這樣的事情 「XXX字符左」

回答

2

做它服務器端用你喜歡的語言。對於這樣的操作,Java/ECMA腳本確實是一個糟糕的地方。它已經與character encoding混亂,所以請幫助自己一個忙,並跳過與content-types和東西的麻煩。將字符串作爲UTF8(例如)發送到您的服務器,並在那裏進行工作。

+0

我不能,它必須與jQuery的工作,我的所有網頁是AJAX,並且所有的數據由客戶端處理。如果我這樣做服務器端,會有點討厭 - 。 - – CuSS 2010-07-12 10:42:21

+0

什麼?不,從網頁發送短信將是「討厭的」,就像你說的那樣。使用jQuery將textbox **作爲文本**提交給服務器,並讓服務器發送SMS。嚴重的是,不要從客戶那裏做。 – 2010-07-12 10:44:11

+0

短信文本不是它發送的唯一內容,它發送客戶端號碼等,如果短信發送與否,響應將創建圖像以哄騙。如果短信有太多的字符,我會告訴用戶什麼?如果我把它放在服務器端,我需要創建另一個事件來呼叫從服務器在頁面上的警報... – CuSS 2010-07-12 10:46:51

0

你用什麼系統從jQuery發送短信?我懷疑它會通過HTTP請求,在這種情況下,服務應該爲你做編碼。在某些情況下,有些字符在GSM字符集中不能表示,而其他字符需要表示爲字節的「轉義對」。

您正在使用的服務的文檔應該能夠通知您正確的SMS正文格式。

例如:http://www.bulksms.com/int/docs/eapi/submission/character_encoding/

全面披露:我爲BulkSMS

+0

http請求將被髮送到我的服務器,他們將評估客戶端,如果他有賬單支付等,然後如果短信已驗證,將發送短信通過我們的API bulksms服務器;)(我是你的客戶端) – CuSS 2010-07-12 10:44:56

+0

然後我建議你的做法是過濾不能通過標準7位消息發送的字符。你可以做這個客戶端,以幫助用戶界面,但你真的應該也做服務器端。按照文檔,郵件正文中屬於擴展GSM字符集的任何字符都需要轉義。否則,你將不得不發送unicode消息,但這意味着更復雜一些,並減少消息長度。 – ptomli 2010-07-12 10:54:58

+0

你可以給我你的電子郵件聯繫嗎?你的EAPI有這個功能嗎? 我已編輯我的問題。謝謝 – CuSS 2010-07-12 10:56:32

相關問題