ข้ามไปยังเนื้อหา

เครื่องมือแชร์ข้อความ - เพสบินฟรีสำหรับโค้ดสนิปเป็ต

แชร์ข้อความและสนิปเป็ตโค้ดได้ทันทีด้วยเครื่องมือเพสบินฟรีของเรา มีฟีเจอร์การเน้นไวยากรณ์ การกำหนดวันหมดอายุ และ URL เฉพาะ ไม่ต้องสมัครสมาชิก!

เครื่องมือแชร์ข้อความ

0 ตัวอักษร
เครื่องคำนวณโหลด...
📚

เอกสารประกอบการใช้งาน

เครื่องมือแชร์ข้อความ (Paste Bin)

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

วิธีทำงานของเครื่องมือแชร์ข้อความ

บริการ paste bin ส่วนใหญ่จัดเก็บข้อความไว้บนเซิร์ฟเวอร์ แล้วส่งลิงก์สั้นที่ชี้ไปยังแถวหนึ่งในฐานข้อมูล เครื่องมือนี้ทำงานต่างออกไป โดยไม่มีเซิร์ฟเวอร์และฐานข้อมูล แต่บรรจุ paste ทั้งหมดไว้ในลิงก์เอง

เมื่อมีคนคลิก "สร้างลิงก์" เครื่องมือจะทำสี่อย่างดังนี้:

  1. สร้างออบเจ็กต์ขนาดเล็กที่เก็บข้อความ ภาษาที่เลือก และเวลาหมดอายุ (หรือไม่เก็บอะไรเลยสำหรับ "ไม่มีวันหมดอายุ")
  2. แปลงออบเจ็กต์นั้นเป็นข้อความ JSON หนึ่งบรรทัด
  3. แปลง JSON เป็นไบต์โดยใช้การเข้ารหัส UTF-8 ที่เว็บใช้กันทั่วไป
  4. เข้ารหัสไบต์เหล่านั้นเป็น base64url ซึ่งเป็นรูปแบบที่แปลงไบต์ใด ๆ เป็นตัวอักษร ตัวเลข - และ _ ทำให้ผลลัพธ์ปลอดภัยเมื่ออยู่ภายใน URL

ข้อความที่เข้ารหัสแล้วจะวางต่อจาก #p= ท้าย URL ของหน้าเว็บ ทุกอย่างหลัง # เรียกว่า fragment เมื่อเบราว์เซอร์โหลดหน้าเว็บ เบราว์เซอร์จะไม่ส่ง fragment ไปยังเซิร์ฟเวอร์ ดังนั้นเนื้อหาของ paste จึงไม่ถูกส่งไปที่ใด การอ่านลิงก์ย้อนกลับใช้กระบวนการเดียวกันในทางกลับกัน คือถอดรหัสข้อความ base64url แปลงไบต์กลับเป็นสตริง JSON ด้วย UTF-8 แล้วแยกวิเคราะห์ JSON เพื่อกู้คืนข้อความ ภาษา และเวลาหมดอายุ

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

เครื่องมือนี้ยังเก็บสำเนาในเครื่องของ paste แต่ละรายการไว้ในพื้นที่จัดเก็บของเบราว์เซอร์ เพื่อใช้เป็นฉบับร่างชั่วคราว สำเนานี้ช่วยให้เบราว์เซอร์เดิมค้นหา paste เก่าของตนเองได้อีกครั้งเท่านั้น ไม่มีส่วนในการเปิดลิงก์แชร์ และการลบสำเนานี้ก็ไม่ทำให้ลิงก์แชร์เสียหาย เพราะลิงก์ไม่เคยพึ่งพาสำเนาดังกล่าว

การเน้นไวยากรณ์

การเน้นไวยากรณ์จะใช้สีแยกส่วนต่าง ๆ ของโค้ด เช่น คีย์เวิร์ด สตริง และความคิดเห็น ทำให้มองเห็นโครงสร้างได้ง่ายขึ้น เครื่องมือนี้รองรับสิบตัวเลือก:

  • ข้อความธรรมดา (ไม่มีการเน้น)
  • JavaScript
  • TypeScript
  • Python
  • Java
  • HTML
  • CSS
  • JSON
  • SQL
  • Bash

ภาษาที่เลือกจะถูกเก็บไว้ภายในข้อมูลที่เข้ารหัส ดังนั้นการเน้นไวยากรณ์จึงทำงานโดยอัตโนมัติเมื่อเปิดลิงก์ โดยผู้ดูไม่ต้องเลือกอะไร

สูตรคำนวณเวลาหมดอายุ

ตัวเลือกเวลาหมดอายุจะกำหนดการประทับเวลาแบบสัมบูรณ์ โดยวัดเป็นมิลลิวินาทีนับตั้งแต่ 1 มกราคม ค.ศ. 1970 (จุดอ้างอิงทั่วไปในการประมวลผลที่เรียกว่ายุค Unix) เครื่องมือจะบวกช่วงเวลาคงที่เข้ากับเวลาที่สร้างลิงก์:

ตัวเลือกเวลาที่เพิ่ม
ไม่มีวันหมดอายุไม่มีการเก็บการประทับเวลา
1 ชั่วโมง60 × 60 × 1,000 มิลลิวินาที
1 วัน24 × 60 × 60 × 1,000 มิลลิวินาที
1 สัปดาห์7 × 24 × 60 × 60 × 1,000 มิลลิวินาที
1 เดือน30 × 24 × 60 × 60 × 1,000 มิลลิวินาที (กำหนดคงที่ 30 วัน ไม่ใช่เดือนตามปฏิทิน)

ตัวอย่างเช่น หากสร้างลิงก์ในขณะที่นาฬิกาแสดงค่า 1,700,000,000,000 มิลลิวินาที และผู้สร้างเลือก "1 สัปดาห์" เวลาหมดอายุที่จัดเก็บไว้คือ:

1,700,000,000,000 + (7 × 24 × 60 × 60 × 1,000) = 1,700,604,800,000 มิลลิวินาที

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

ตัวอย่างการทำงาน: paste กลายเป็นลิงก์ได้อย่างไร

สมมติว่ามีคนแชร์ข้อความธรรมดา Hello, world! โดยไม่มีเวลาหมดอายุ เครื่องมือจะสร้างออบเจ็กต์ JSON นี้ โดยใช้ชื่อฟิลด์สั้น ๆ เพื่อให้ลิงก์มีขนาดกะทัดรัด:

1{"t":"Hello, world!","l":"plaintext","e":null}
2

เครื่องมือเข้ารหัส JSON นั้นเป็นไบต์ UTF-8 แล้วเข้ารหัสต่อเป็น base64url ได้ผลลัพธ์ดังนี้:

1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

ลิงก์แชร์ฉบับเต็มคือที่อยู่ของหน้าเว็บบวกกับโทเค็นนั้นต่อจาก #p=:

1https://whiz.tools/en/development/paste-bin-tool#p=eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

ทุกคนที่เปิดลิงก์นั้นจะใช้เบราว์เซอร์ถอดรหัสโทเค็น อ่าน Hello, world! กลับมาเป็นข้อความธรรมดา และแสดงผล ไม่มีการร้องขอข้อมูลจากเซิร์ฟเวอร์แม้แต่ครั้งเดียว

วิธีแชร์ข้อความหรือโค้ด

  1. พิมพ์หรือวางข้อความลงในกล่องข้อความ จำนวนอักขระจะอัปเดตขณะพิมพ์
  2. เลือกภาษาจากเมนูการเน้นไวยากรณ์ได้ตามต้องการ
  3. เลือกระยะเวลาที่ลิงก์ควรใช้งานได้ตามต้องการ
  4. คลิก "สร้างลิงก์"
  5. คัดลอกลิงก์ที่สร้างขึ้นด้วยปุ่ม "คัดลอกลิงก์" แล้วส่งด้วยวิธีที่ต้องการ

วิธีดูข้อความที่แชร์

  1. เปิดลิงก์แชร์
  2. ข้อความจะแสดงทันที พร้อมการเน้นไวยากรณ์หากเลือกภาษาไว้
  3. ใช้ "คัดลอกข้อความ" เพื่อคัดลอกเนื้อหาไปยังคลิปบอร์ด
  4. ใช้ "สร้างใหม่" เพื่อเริ่ม paste ใหม่

ไม่สามารถแก้ไข paste ได้หลังจากสร้างลิงก์แล้ว หากต้องการเปลี่ยนข้อความ ต้องสร้าง paste ใหม่และแชร์ลิงก์ใหม่

การใช้งานทั่วไป

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

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

ข้อจำกัดและความเป็นส่วนตัว

เนื่องจาก paste ทั้งหมดอยู่ภายในลิงก์ ขีดจำกัดด้านขนาดที่ใช้จริงจึงอยู่ที่ความยาวของ URL เอง ไม่ใช่โควตาพื้นที่จัดเก็บ เบราว์เซอร์รองรับ URL ยาวได้ แต่โปรแกรมอีเมล แอปแชต และระบบรุ่นเก่าหลายชนิดอาจตัดหรือตีกลับ URL ที่ยาวมาก ดังนั้น paste ที่มีขนาดใหญ่มากอาจส่งผ่านทุกช่องทางได้ไม่ดี ส่วน paste ขนาดสั้นและปานกลางไม่ได้รับผลกระทบ

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

คำถามที่พบบ่อย

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

ลิงก์ใช้กับอุปกรณ์หรือเบราว์เซอร์อื่นได้หรือไม่ ได้ เนื่องจากเนื้อหาเดินทางอยู่ภายในลิงก์ อุปกรณ์ใดก็ตามที่เปิดลิงก์ก็สามารถถอดรหัสและแสดงเนื้อหาได้ ไม่ต้องมีบัญชีหรือใช้เบราว์เซอร์เครื่องเดิม

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

แก้ไข paste หลังสร้างลิงก์ได้หรือไม่ ไม่ได้ ต้องสร้างลิงก์ใหม่สำหรับการเปลี่ยนแปลงใด ๆ เนื่องจากเนื้อหาถูกฝังไว้ในลิงก์ตั้งแต่เวลาที่สร้าง

จะเกิดอะไรขึ้นเมื่อ paste หมดอายุ การเปิดลิงก์ที่หมดอายุจะแสดงข้อความว่าเนื้อหาหมดอายุแล้ว แทนที่จะแสดงข้อความเดิม ลิงก์เองยังคงอยู่ เพียงแต่จะไม่แสดงเนื้อหาอีกเมื่อการประทับเวลาหมดอายุที่จัดเก็บไว้ผ่านไปแล้ว

มีขีดจำกัดด้านขนาดหรือไม่ ไม่มีขีดจำกัดพื้นที่จัดเก็บแบบตายตัว แต่ URL ที่ยาวมากอาจถูกโปรแกรมอีเมลและแอปส่งข้อความบางชนิดปฏิเสธหรือตัดให้สั้นลง ดังนั้น paste ขนาดใหญ่มากจึงเหมาะกับเครื่องมือแชร์ไฟล์โดยเฉพาะมากกว่า

เอกสารอ้างอิง

  1. "UTF-8." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/UTF-8
  2. "Base64." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/Base64
  3. "URL." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/API/URL
  4. "Syntax highlighting." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Syntax_highlighting
  5. "Unix time." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Unix_time