smで送信されるテキストボックスからのメッセージの文字数をカウントするIm txtBody.Text.Lengthが改行のためにより多くの文字をカウントしていることに気付きました。改行の書式を保持したいのですが、.netこれは2文字を数えています。新しい行を保持する方法はありますが、正確になるようにするにはカウンタが必要です。Asp.net String.Lengthカウントは2文字として返されますか?
答えて
ユーザーがWindows上で"\u000D\u000A"
(または同じことを意味している"\r\n"
短い)と同じである(いくつかの比較的奇妙なコピー&ペーストがなければ)新しい行を、入力がある時はいつでもテキストボックスの入力はあなたにEnvironment.Newline
を与えます。
SMSの送信には、本当にU + 000Aを使用する必要があります。
これ以上の作業を行う前に、msg.Replace("\r\n", "\n")
を入力してください。あなたが望む長さの結果を得るだけでなく、SMSが必要としない無駄な文字を減らし、あらゆる文字はSMSの場合にカウントされます。
msg.Replace("\r\n", "\n").Replace('\r', '\n\')
にさらに正規化して、Windows以外の通常の改行(いくつかのシナリオでは起こります)を使用して、奇妙なコピーペーストデータを理解することができます。
GSM 7ビットのアルファベットの中にいなければ、さらに複雑になりますが、8ビットの中にいなければ少なくとも合併症は.NETとSMS; .NETはUTF-16を使用しており、他のエンコーディングでは不十分な場合はSMSが行いますが、長さに関わらず代理を扱います。
これは私に完全に答えました。システムはmsg.Replace( "\ r \ n"、 "\ n")でうまくいくように、他のソースからのコピーを許可しません..ありがとう – Ryan86
\ rとにかく害を及ぼさないでしょう。他のタスクに関しては正規化する。 –
ウィンドウ内の改行は確かに2つの文字です - CrLf
- ASCIIに続くASCII 13 10
あなたは、単にすべてのEnvironment.NewLine
のカウントを返さLength
から2をデクリメント、または取得することができ、その2およびデクリメントすることにより、二重Length
から。
string msg = "bla bla etc.\r\nSome more bla";
int length = msg.Replace("\r\n","").Length;
- 1. SMSテキストメッセージ - 改行は文字としてカウントされますか?
- 2. javascriptのString.lengthが間違った文字数を返します
- 3. 2文字の長さの文字列としてToAsciiから返されるキーはどれですか?
- 4. String.length()vs全国文字
- 5. jQuery - .length()は特殊文字を2としてカウントしますか?
- 6. PHPシリアライゼーションエラーが2文字でカウントされます
- 7. Spring AMQPヘッダーは文字列として返されます
- 8. いくつかの文字が2回カウントされる
- 9. RESTとしてカウントされますか?
- 10. Web API 2、ファイルとして文字列を返します
- 11. asp.net MVC:クエリ文字列を文字列または個別のパラメータとして渡しますか? asp.net MVCで
- 12. 文字カウンタをカウントした後にスタックされていますか?
- 13. 文字列として返されるRegexの扱い方は?
- 14. $ scopeはattrsの値としてattrsに渡されますが、controllerは返す文字列を返します
- 15. SOAPUIスクリプトアサーション、(文字列として返します)、文字列
- 16. getSimCountryIsoは3文字または2文字を返しますISOコード
- 17. Umlautは余分な文字としてカウントされます。これをPythonで覆すには?
- 18. 文字配列の文字数をカウントしますか?
- 19. これは非同期としてカウントされますか?
- 20. Makefile:文字列の最初の2文字を返します。
- 21. silverlightとxnaアプリケーションはゲームとしてカウントされますか?
- 22. Pythonは2つの同じ文字列を返して偽で返します。
- 23. 連結されたinnertext文字カウントをカウントするXMLスキーマ
- 24. Oracleでは特殊文字が2回繰り返されていません
- 25. C++リンクされたリストのカウント文字
- 26. Azureテーブルストレージでは、CreateIfNotExistsはトランザクションとしてカウントされますか?
- 27. $(someelement).text()。長さと文字数のカウント?
- 28. Python列の2文字の出現回数をカウントします。
- 29. Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)はASP.Netプロジェクトで空の文字列を返します
- 30. 2つの文字列を比較すると、出力としてfalseが返されます
改行文字をSMSメッセージに残しておくと、改行文字の数は無視されます - SMSの168文字にカウントされます。 –
@Neil 168?私は160,140,70(1つずつの代理を数えます)と1つのメッセージあたり155の文字を提供するエンコードシナリオを知っています。いつあなたは168を得ることができますか? –
@Jon私の間違い - その160文字。私はどちらかから168を得たかわからない。そのためのユニットテストを追加してください。 –