ทวีตแยกเธรด
วางโพสต์ขนาดยาวแล้วแยกออกเป็นเธรด X/Twitter จริงโดยใช้กฎการนับจำนวนอักขระแบบถ่วงน้ำหนักตามจริง โดยทุก URL จะนับเป็นอักขระคงที่ 23 ตัว และอีโมจิบนระนาบดวงดาวจะนับอย่างถูกต้อง โดยมีขอบเขตของย่อหน้า/ประโยค/คำที่ชาญฉลาด และการกำหนดหมายเลขเธรดที่สงวนพื้นที่ของตัวเอง
ผลลัพธ์
ขีดจำกัด 280 อักขระของทวีตไม่ใช่การตรวจสอบ "ข้อความ.ความยาว" ง่ายๆ และผู้นับอักขระที่ไร้เดียงสาส่วนใหญ่จะเข้าใจผิดในลักษณะที่สำคัญ เครื่องมือนี้ใช้อัลกอริธึมความยาวถ่วงน้ำหนัก X/Twitter จริง: ทุกจุดโค้ดจะถูกค้นหาเทียบกับตารางช่วงถ่วงน้ำหนักเดียวกันกับที่ไลบรารีข้อความ Twitter ของแพลตฟอร์มใช้ โดยที่อักขระละติน ซีริลลิก กรีก และเครื่องหมายวรรคตอนทั่วไปส่วนใหญ่นับเป็น 1 อักขระ แต่ทุกสิ่งที่อยู่นอกช่วงเหล่านั้น เช่น กราฟความคิดของ CJK, อีโมจิส่วนใหญ่, สัญลักษณ์จำนวนมาก - นับเป็น 2 ที่สำคัญไม่แพ้กัน การวนซ้ำข้อความด้วยจุดโค้ด Unicode จริง (ไม่ใช่ดิบ หน่วย UTF-16) หมายถึงอีโมจิบนดวงดาว เช่น ใบหน้าคู่ตัวแทนหรือธง จะถูกนับอย่างถูกต้องเพียงครั้งเดียว ไม่ใช่นับซ้ำซ้ำโดยไม่ได้ตั้งใจเช่นเดียวกับการตรวจสอบ `.length` แบบไร้เดียงสา
กฎที่แท้จริงอีกข้อที่พลาดง่ายที่เครื่องมือนี้นำไปใช้อย่างตรงไปตรงมา: ทุก http(s):// หรือ www URL ในข้อความของคุณจะถูกนับเป็น 23 อักขระพอดี ไม่ว่าลิงก์ตามตัวอักษรจะเป็น 20 อักขระหรือ 200 ตัวก็ตาม นั่นคือความยาวจริงของ t.co-shortened X ที่ใช้แทนลิงก์ใดๆ ได้ และหมายความว่าทวีตที่เต็มไปด้วย URL ติดตามผลแบบยาวจะมีพื้นที่เหลือสำหรับคำจริงมากกว่าจำนวนอักขระที่ไร้เดียงสาจะแนะนำ — ตัวแยกจะพิจารณาเรื่องนี้เมื่อตัดสินใจว่าทวีตจะสิ้นสุดที่ใด
การแยกโพสต์ยาวๆ ออกเป็นกระทู้เป็นมากกว่าการตัดอักขระทุกๆ 280 ตัว เครื่องมือนี้ทำงานผ่านขอบเขตสามระดับตามลำดับที่ต้องการ: ขั้นแรกจะพยายามรวมย่อหน้าทั้งหมดไว้ด้วยกัน จากนั้นถอยกลับไปใช้ฮิวริสติกขอบเขตประโยคจริงเมื่อย่อหน้ายาวเกินไป (ตัวแยกที่ใช้ regex ที่ทราบความแตกต่างระหว่างช่วงเวลาสิ้นสุดประโยคและอีกอันอยู่ภายในตัวย่อ เช่น "Dr." หรือ "เช่น" หรือเลขทศนิยม เช่น "3.14") และจะแบ่งเฉพาะคำแต่ละคำเป็นทางเลือกสุดท้ายเมื่อแม้แต่ประโยคเดียวล้น ขีดจำกัด — ในทุกระดับ URL จะถือเป็นโทเค็นเดียวที่แบ่งแยกไม่ได้และจะไม่ถูกแบ่งตรงกลาง
การกำหนดหมายเลขเธรด ("1/7", "2/7"...) มีตัวพิมพ์เล็กที่ง่ายต่อการพลาด: ข้อความลำดับเลขนั้นใช้อักขระจำนวนมากในทวีตที่แนบมาด้วย และความกว้างของการกำหนดหมายเลขนั้นขึ้นอยู่กับจำนวนทวีตทั้งหมด ซึ่งคุณไม่รู้จนกว่าการแยกจะเสร็จสิ้น เครื่องมือนี้แก้ไขปัญหานั้นด้วยการแบ่งซ้ำซ้ำๆ โดยสงวนความยาวถ่วงน้ำหนักจริงของการกำหนดหมายเลขก่อนแต่ละรอบ จนกว่างบประมาณที่สงวนไว้จะตรงกับจำนวนทวีตที่เกิดขึ้นจริง ขีดจำกัดมาตรฐาน 280 อักขระถูกใช้เป็นค่าเริ่มต้น โปรดทราบว่าสมาชิก X Premium จะได้รับขีดจำกัดแบบยาวที่สูงกว่ามาก (สูงสุดประมาณ 25,000 อักขระ) สำหรับโพสต์ที่ไม่จำเป็นต้องทำงานเป็นเธรดสาธารณะ การสลับช่วยให้คุณสลับไปใช้ขีดจำกัดแบบกำหนดเองได้หากนั่นคือสิ่งที่คุณกำหนดเป้าหมาย