/// <summary> /// 进入到了OSC状态,开始解析OSC命令 /// </summary> /// <param name="ch"></param> private void EventOSCParam(byte ch) { if (ASCIIChars.IsOSCTerminator(ch)) { // OSC状态下出现了BEL结束符 // 参考terminal的做法,进入Ground状态 this.EnterGround(); } else if (ASCIIChars.IsNumericParamValue(ch)) { // OSC状态下的数字,收集起来 this.ActionOSCParam(ch); } else if (ASCIIChars.IsOSCDelimiter(ch)) { // OSC状态下出现了分隔符,说明要开始收集字符串了 this.EnterOSCString(); } else { // 其他所有的字符都忽略 this.ActionIgnore(ch); } }