pub struct EdifactDelimiters {
pub component: u8,
pub element: u8,
pub decimal: u8,
pub release: u8,
pub segment: u8,
pub reserved: u8,
}Expand description
EDIFACT delimiter characters.
The six characters that control EDIFACT message structure. When no UNA service string advice is present, the standard defaults apply:
- Component separator:
:(colon) - Element separator:
+(plus) - Decimal mark:
.(period) - Release character:
?(question mark) - Segment terminator:
'(apostrophe) - Reserved:
(space)
Fields§
§component: u8Component data element separator (default: :).
element: u8Data element separator (default: +).
decimal: u8Decimal mark (default: .).
release: u8Release character / escape (default: ?).
segment: u8Segment terminator (default: ').
reserved: u8Reserved for future use (default: ).
Implementations§
Source§impl EdifactDelimiters
impl EdifactDelimiters
Sourcepub const STANDARD: EdifactDelimiters
pub const STANDARD: EdifactDelimiters
Standard EDIFACT delimiters (when no UNA segment is present).
Sourcepub fn from_una(una: &[u8]) -> Result<EdifactDelimiters, UnaParseError>
pub fn from_una(una: &[u8]) -> Result<EdifactDelimiters, UnaParseError>
Parse delimiters from a UNA service string advice segment.
The UNA segment is exactly 9 bytes: UNA followed by 6 delimiter characters.
Format: UNA<component><element><decimal><release><reserved><terminator>
§Errors
Returns an error if the input is not exactly 9 bytes or does not start with UNA.
Sourcepub fn detect(input: &[u8]) -> (bool, EdifactDelimiters)
pub fn detect(input: &[u8]) -> (bool, EdifactDelimiters)
Detect delimiters from an EDIFACT message.
If the message starts with a UNA segment, parses delimiters from it. Otherwise, returns the standard defaults.
Returns (has_una, delimiters).
Sourcepub fn to_una_string(&self) -> String
pub fn to_una_string(&self) -> String
Formats the delimiters as a UNA service string advice segment.
Returns the 9-byte UNA string: UNA:+.? '
Trait Implementations§
Source§impl Clone for EdifactDelimiters
impl Clone for EdifactDelimiters
Source§fn clone(&self) -> EdifactDelimiters
fn clone(&self) -> EdifactDelimiters
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EdifactDelimiters
impl Debug for EdifactDelimiters
Source§impl Default for EdifactDelimiters
impl Default for EdifactDelimiters
Source§fn default() -> EdifactDelimiters
fn default() -> EdifactDelimiters
Source§impl Display for EdifactDelimiters
impl Display for EdifactDelimiters
Source§impl Hash for EdifactDelimiters
impl Hash for EdifactDelimiters
Source§impl PartialEq for EdifactDelimiters
impl PartialEq for EdifactDelimiters
impl Copy for EdifactDelimiters
impl Eq for EdifactDelimiters
impl StructuralPartialEq for EdifactDelimiters
Auto Trait Implementations§
impl Freeze for EdifactDelimiters
impl RefUnwindSafe for EdifactDelimiters
impl Send for EdifactDelimiters
impl Sync for EdifactDelimiters
impl Unpin for EdifactDelimiters
impl UnsafeUnpin for EdifactDelimiters
impl UnwindSafe for EdifactDelimiters
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.