Xamarin

วิธี Encode URL ใน C# และ Xamarin

ในการติดต่อกับ Web Service หรือ Web API ในแอพพลิเคชั่น Xamarin บางครั้งเราจำเป็นต้องส่งข้อความ ที่เรียกกันติดปากว่า String ไปกับ URL ด้วย โดยเฉพาะในการติดต่อกับ Facebook API

กรณีที่จำเป็นต้อง Encode String

อย่างเช่นการโพสรูปภาพไปบน Timeline จะมีส่วนที่เรียกว่า caption ที่เราส่งไปเป็น caption ของภาพที่อัพโหลดได้

caption=...

เพียงแต่ถ้าส่งข้อความแบบนี้ไป จะมีปัญหาเอา…

caption=Hi! Nextflow

ซึ่งส่วนสำคัญที่จะทำให้เกิดความผิดพลาดในตัวอย่าง คือ “ช่องว่าง” (White space) และพลเอาอักขระที่สามารถใช้งานใน URL String มาไว้ด้านล่าง สำหรับคนที่อยากรู้ ซึ่งอ้างอิงจากมาตรฐาน RFC 1738

$-_.+!*'(),

Class C# ที่ช่วยแปลงข้อความ

Uri.EscapeDataString(string)

โดยตัว Method จะรับข้อความธรรมดาทั่วไปอย่าง “Hi! Nextflow” แปลงเป็น

Hi%21%20Nextflow

เพื่อที่จะสามารถใช้ใน URL String ได้สบายๆ

$"caption={Uri.EscapeDataString("Hi! Nextflow")}"

 

** จากการค้นหาข้อมูล Uri.EscapeDataString จะแปลงข้อความรับกับมาตรฐาน RFC 1738 ที่ใช้กันอยู่ในปัจจุบันใน .NET 4.5 เป็นต้นไปนะ

อ้างอิงจาก – StackOverflow

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save