第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 sns 短信中創(chuàng)建正確的換行符?

如何在 sns 短信中創(chuàng)建正確的換行符?

C#
慕標(biāo)5832272 2023-08-20 09:56:06
我正在使用AWS .NET-SDK通過AWS SNS 服務(wù)發(fā)送 SMS 消息。到目前為止,一切都很好; 但是當(dāng)我使用換行符時(shí),我會(huì)?在短信中的換行符開始之前看到此時(shí)的字符。在該字符之后,將按預(yù)期添加換行符。沒有這個(gè)字符是否有可能換行??我也嘗試過以下操作:StringBuilder.AppendLine,"\\n","\\r\\n",@"\n",@"\r\n",Environment.NewLine并將字符串編碼為UTF-8。不起作用的示例:// Create message stringvar sb = new StringBuilder();sb.AppendLine("Line1.");sb.Append("Line2.\\n");sb.AppendLine(Environment.NewLine);sb.Append(@"Line4\n");// Encode into UTF-8var utf8 = UTF8Encoding.UTF8;var stringBytes = Encoding.Default.GetBytes(sb.ToString());var decodedString = utf8.GetString(stringBytes);var message = decodedString;// Create requestvar publishRequest = new PublishRequest{    PhoneNumber = "+491234567890",    Message = message,    Subject = "subject",    MessageAttributes = "Promotional"};// Send SMSvar response = await snsClient.PublishAsync("topic", message, "subject");
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

只需刪除所有對(duì)字符串進(jìn)行編碼的嘗試即可。.NET 字符串已經(jīng)是 Unicode,特別是 UTF16。PublishAsync需要 .NET 字符串,而不是 UTF8 字節(jié)。


至于為什么會(huì)出現(xiàn)這個(gè)錯(cuò)誤,是因?yàn)榇a使用本地計(jì)算機(jī)的代碼頁將字符串轉(zhuǎn)換為字節(jié),然后嘗試將這些字節(jié)當(dāng)作UTF8讀取,但事實(shí)并非如此——使用UTF8作為系統(tǒng)代碼頁是一個(gè)測(cè)試版功能在 Windows 10 上,這會(huì)破壞很多應(yīng)用程序。


SMS 的換行符是\n。除非您在 Linux 上使用 .NET Core,否則Environment.NewLine返回。StringBuilder.AppendLine使用所以你不能使用它。\r\nEnvironment.NewLine


除了 String.Join 之外,您不需要任何其他東西即可將多行組合成一條消息:


var message=String.Join("\n",lines);

如果您需要使用 StringBuilder,請(qǐng)使用在末尾AppendFormat附加一個(gè)帶有字符的行,例如:\n


builder.AppendFormat("{0}\n",line);

更新


我能夠使用以下代碼發(fā)送包含換行符的短信:


var region = Amazon.RegionEndpoint.EUWest1;

var  snsClient = new AmazonSimpleNotificationServiceClient(region);


var sb = new StringBuilder()

                .Append("Line1.\n")

                .Append("Line2.\n")

                .Append("Line4\n");

var message = sb.ToString();


// Create request

var publishRequest = new PublishRequest

{

    PhoneNumber = phone,

    Message = message,                

};


// Send SMS

var response = await snsClient.PublishAsync(publishRequest);

我收到的消息包含:


Line1.

Line2.

Line4.

我決定花點(diǎn)時(shí)間,將最后一行更改為:


.Append("Line4ΑΒ?!辍?\n");

我也毫無問題地收到了這條短信


查看完整回答
反對(duì) 回復(fù) 2023-08-20
  • 1 回答
  • 0 關(guān)注
  • 238 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)