트윗 스레드 분할기
긴 게시물을 붙여넣고 실제 가중치 문자 계산 규칙을 사용하여 실제 X/Twitter 스레드로 분할합니다. 모든 URL은 고정된 23자로 계산되고 아스트랄 평면 이모티콘 수는 올바르게 계산됩니다. 스마트 단락/문장/단어 경계와 자체 공간을 예약하는 스레드 번호 매기기를 사용합니다.
결과
트윗의 280자 제한은 단순한 `text.length` 확인이 아니며 대부분의 순진한 문자 카운터는 중요한 방식으로 이 문제를 잘못 처리합니다. 이 도구는 실제 X/Twitter 가중치 길이 알고리즘을 구현합니다. 모든 코드 포인트는 플랫폼의 자체 트위터 텍스트 라이브러리가 사용하는 동일한 가중치 범위 테이블에 대해 조회됩니다. 여기서 대부분의 라틴어, 키릴 문자, 그리스어 및 일반 구두점 문자는 1자로 계산되지만 해당 범위 밖의 모든 것(CJK 표의 문자, 대부분의 이모티콘, 많은 기호)은 2로 계산됩니다. 마찬가지로 중요한 것은 실제 유니코드 코드 포인트(원시 UTF-16 단위가 아님)로 텍스트를 반복한다는 것은 다음을 의미합니다. 대리 쌍 얼굴이나 깃발과 같은 아스트랄계 이모티콘은 한 번만 정확하게 계산되며 순진한 '.length' 검사와는 달리 실수로 두 번 계산되지 않습니다.
이 도구가 정직하게 구현하는 또 다른 놓치기 쉬운 실제 규칙은 모든 http(s):// 또는 www입니다. 텍스트의 URL은 리터럴 링크가 20자인지 200자인지에 관계없이 정확히 23자로 계산됩니다. 이는 X가 모든 링크를 대체하는 실제 t.co 단축 길이이며, 이는 긴 추적 URL로 포장된 트윗이 순진한 문자 수가 제안하는 것보다 실제 단어를 위한 공간이 훨씬 더 많이 남아 있음을 의미합니다. 스플리터는 트윗이 끝나는 위치를 결정할 때 이를 고려합니다.
긴 게시물을 스레드로 나누는 것은 단순히 280자씩 잘라내는 것 이상입니다. 이 도구는 선호도에 따라 세 가지 계층의 경계를 통해 작동합니다. 먼저 전체 단락을 함께 유지하려고 시도하고, 단락이 너무 길면 실제 문장 경계 경험적 방법(문장 종료 마침표와 "Dr." 또는 "e.g."와 같은 약어 또는 "3.14"와 같은 소수 내부의 마침표 사이의 차이를 아는 정규식 기반 분할기)으로 돌아가고, 단일 문장이라도 한계를 초과하는 경우 최후의 수단으로 개별 단어만 분리합니다. 모든 계층에서 URL은 분할할 수 없는 하나의 토큰으로 처리되며 중간에 분할되지 않습니다.
스레드 번호 매기기("1/7", "2/7"...)에는 정말로 놓치기 쉬운 극단적인 경우가 있습니다. 번호 매기기 텍스트 자체는 첨부된 트윗의 문자를 사용하고 해당 번호 매기기의 너비는 분할이 완료될 때까지 알 수 없는 총 트윗 수에 따라 달라집니다. 이 도구는 예약된 예산이 실제 결과 트윗 수와 일치할 때까지 각 패스 전에 번호 지정의 실제 가중치 길이를 예약하여 반복적으로 다시 분할하여 이 문제를 해결합니다. 기본적으로 표준 280자 제한이 사용되며, X Premium 구독자는 공개 스레드로 작동할 필요가 없는 게시물에 대해 훨씬 더 높은 긴 형식 제한(최대 약 25,000자)을 받습니다. 목표로 삼는 경우 토글을 사용하여 사용자 정의 제한으로 전환할 수 있습니다.